# LeetCode

A community driven project to provide solutions for LeetCode problems in the Julia programming language.

## How to contribute?

- Fork this project.
- Select a problem template file under the
`src/unresolved/`

folder, open and write the code, after finishing please**MOVE / CUT**to the`src/problems`

folder. - Write test cases inside the
`test/problems`

folder to make sure the solutions work as expected. - For some common components, please put them into the
`src/common.jl`

file and add test cases in`test/common.jl`

. - Run
`pkg> test`

locally to make sure test passes. The test will also format your codes. - Commit your changes and make a pull request.
- You may also
**WATCH**this project to help review other's PR or**STAR**this project to spread JuliaLang to others.

## Code template

```
# ---
# title: 1. Two Sum
# id: problem1
# author: Tian Jun
# date: 2020-10-31
# difficulty: Easy
# categories: Array, Hash Table
# link: <https://leetcode.com/problems/two-sum/description/>
# hidden: true
# ---
#
# Given an array of integers `nums` and an integer `target`, return _indices of
# the two numbers such that they add up to`target`_.
#
# You may assume that each input would have **_exactly_ one solution**, and you
# may not use the _same_ element twice.
#
# You can return the answer in any order.
#
#
#
# **Example 1:**
#
#
#
# Input: nums = [2,7,11,15], target = 9
# Output: [0,1]
# Output: Because nums[0] + nums[1] == 9, we return [0, 1].
#
#
# **Example 2:**
#
#
#
# Input: nums = [3,2,4], target = 6
# Output: [1,2]
#
#
# **Example 3:**
#
#
#
# Input: nums = [3,3], target = 6
# Output: [0,1]
#
#
#
#
# **Constraints:**
#
# * `2 <= nums.length <= 103`
# * `-109 <= nums[i] <= 109`
# * `-109 <= target <= 109`
# * **Only one valid answer exists.**
#
#
## @lc code=start
using LeetCode
function two_sum(nums::Vector{Int}, target::Int)::Union{Nothing,Tuple{Int,Int}}
seen = Dict{Int,Int}()
for (i, n) in enumerate(nums)
m = target - n
if haskey(seen, m)
return seen[m], i
else
seen[n] = i
end
end
end
## @lc code=end
```

## Note:

- Change
**date**and**author**to the date of the answer and your own name. If it is not convenient to provide the date or author, you can**delete**the date and author information above. - Note on comments in coding:
- line starting with
`##`

is the Julia code comments. - line starting with a single
`#`

will be parsed as**markdown**comment.

- line starting with