1. 两数之和
题目
1. 两数之和(简单)
给定一个整数数组 nums 和一个整数目标值
target,请你在该数组中找出 和为目标值
target 的那 两个
整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。
你可以按任意顺序返回答案。
示例 1:
输入:
[2,7,11,15]
9输出:
[0,1]解释:因为 nums[0] + nums[1] == 9,返回 [0, 1]。
示例 2:
输入:
[3,2,4]
6输出:
[1,2]示例 3:
输入:
[3,3]
6输出:
[0,1]提示:
2 <= nums.length <= 10^4-10^9 <= nums[i] <= 10^9-10^9 <= target <= 10^9- 只会存在一个有效答案
思路
哈希表一遍扫描:遍历时先查 target - num
是否已经在表中(在则直接得到答案),不在则记录
num → 下标。每个数只处理一次,时间复杂度
。
代码
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
d = dict()
for i, num in enumerate(nums):
if target - num in d:
return [d[target - num], i]
else:
d[num] = i
return []1. 两数之和
https://mingsm17518.github.io/2026/09/14/刷题笔记/Hot100/1. 两数之和/