【leetcode - 1】两数之和 easy
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。
示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
解答: 使用enumerate非常便捷,返回元素值对应的ind,由于每个输入只有一种答案,所以在形成字典的时候,可以判断剩下的数在不在已经形成的字典里,如果在,返回,如果不在,继续添加新元素。为了防止一个元素使用两遍,在判断之后再添加当前元素。
1 class Solution: 2 def twoSum(self, nums: List[int], target: int) -> List[int]: 3 dicts = {} 4 for i, j in enumerate(nums): 5 if target-j in dicts: 6 return [i,dicts[target-j]] 7 dicts[j]=i
浙公网安备 33010602011771号