728x90
1. Two Sum
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
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
'알고리즘 > LeetCode' 카테고리의 다른 글
[Python] Longest Palindromic Substring - LeetCode (0) | 2021.09.23 |
---|---|
[Python] Median of Two Sorted Arrays - LeetCode (0) | 2021.09.16 |
[Python] Longest Substring Without Repeating Characters - LeetCode (0) | 2021.09.16 |
[Python] Add Two Numbers - LeetCode (0) | 2021.09.16 |
댓글