解法:哈希表一次遍历
维护 value -> index,当前元素只负责匹配之前出现过的补数。
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
seen = {}
for i, x in enumerate(nums):
need = target - x
if need in seen:
return [seen[need], i]
# 先查再存,避免同一个元素被用两次
seen[x] = i
return []复杂度:时间 O(n),空间 O(n)。