Code Monkey home page Code Monkey logo

leetcode.jl's Introduction

LeetCode

Documentation Unit Test codecov Code Style: Blue

中文说明

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

How to contribute?

  1. Fork this project.
  2. 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.
  3. Write test cases inside the test/problems folder to make sure the solutions work as expected.
  4. For some common components, please put them into the src/common.jl file and add test cases in test/common.jl.
  5. Run pkg> test locally to make sure test passes. The test will also format your codes.
  6. Commit your changes and make a pull request.
  7. 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.

leetcode.jl's People

Contributors

findmyway avatar github-actions[bot] avatar indigo2233 avatar inkydragon avatar jmmshn avatar johnnychen94 avatar moelf avatar rexwzh avatar rfhklwt avatar zhihongecnu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.