-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path1.两数之和.py
42 lines (39 loc) · 1.01 KB
/
1.两数之和.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#
# @lc app=leetcode.cn id=1 lang=python3
#
# [1] 两数之和
#
# https://leetcode-cn.com/problems/two-sum/description/
#
# algorithms
# Easy (47.57%)
# Likes: 7692
# Dislikes: 0
# Total Accepted: 833.8K
# Total Submissions: 1.8M
# Testcase Example: '[2,7,11,15]\n9'
#
# 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
#
# 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
#
# 示例:
#
# 给定 nums = [2, 7, 11, 15], target = 9
#
# 因为 nums[0] + nums[1] = 2 + 7 = 9
# 所以返回 [0, 1]
#
#
#
# @lc code=start
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
# 哈希表 O(N) O(N)
num_dict = {}
for i, e in enumerate(nums):
if e in num_dict:
return [num_dict[e], i]
else:
num_dict[target - e] = i
# @lc code=end