题目:给定一个数组,寻找两个元素的坐标,限制条件为:这两个元素的和等于目标值
例子:给出 l = [2, 7, 11, 15]
, target = 9
, 结结果:[1, 2]
思路:首先将数组L的元素值及其对应索引遍历到一个字典中,然后再次遍历数组L时判断目标值-当前元素值是否在字典中键中,如果在则返回当前元素值的索引和目标值-当前元素值的索引
#数据 l = [2,7,11,15] target = 18 #程序 def twoSum(l,target): hash_map ={} for index,value in enumerate(l): hash_map[value] = index for index,value in enumerate(l): if target - value in hash_map: index1 = index index2 = hash_map[target-value] return index1+1,index2+1 #测试 print two(l,target)
结果:
(1, 2) [Finished in 0.1s]