본문 바로가기
알고리즘/LeetCode

[Python] Two Sum - LeetCode

by Jun Shim 2021. 9. 16.
728x90

1. Two Sum

 

Two Sum - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

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.


 

Examples

1:

Input: nums = [2,7,11,15], target = 9
Output: [0,1]

Because nums[0] + nums[1] == 9, we return [0, 1].

 

2:

Input: nums = [3,2,4], target = 6 
Output: [1,2]

 

3:

Input: nums = [3,3], target = 6 
Output: [0,1]

 

Constraints:

  • 2 <= nums.length <= 10^4
  • -10^9 <= nums[i] <= 10^9
  • -10^9 <= target <= 10^9
  • Only one valid answer exists.

 

Follow-up: Can you come up with an algorithm that is less than O(n^2) time complexity?


 

Python solution

Python
Accepted 52ms runtime

 

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        results = dict()

        for i, num in enumerate(nums):
            result = target - num

            if result in results:
                return [results.get(result), i]
            else:
                results.update({num: i})

 

728x90

댓글