两数之和
描述:
给定一个整数数组 nums
和一个目标值 target
,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
解题思路:
用一个字典将数字与其索引存储起来,然后通过便利的方式查询目标值与当前值的差值是否在字典中存在,存在记录两者的索引
def twoSum(self, nums: List[int], target: int) -> List[int]:
hashmap = {}
for index,num in enumerate(nums):
temp_num = target - num
if temp_num in hashmap:
return [hashmap[temp_num],index]
hashmap[num] = index
return None