思路:
利用哈希表,将每个遍历过的数与下标映射到哈希表中,当target减去遍历到的数与前面的数相等时,直接映射该数的下标,如果没有找到,则将该数添加进表中,方便之后查询
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
#创建一个字典
rec = dict()
#遍历nums数组
for index, vlaue in enumerate(nums):
#判断要找的数是否在map表中
if target - vlaue in rec:
#如果在则返回两个数的下标,target - vlaue,差值对应数的索引
#如 9 - 7 = 2,查找2的下标
return [rec[target - vlaue],index]
#如果不是我们要找的数,则将下标与数的对应关系添加进表中
rec[vlaue] = index
return