Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
Example:
Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].
Hint:
首先建立hash,通过index遍历lst,如果target-lst[i] 在hash里面,返回hash[target-lst[i]], i,否则的话,继续往字典里面添东西,hash[lst[i]] = i。即这里的字典key是列表里面的数,value是列表的索引。
Code:
Class solution(object):
def twoSum(self, nums, target):
hash=dict()
for i in range(len(nums)):
if (target-nums[i]) in hash:
return [hash[target-nums[i]], i]
hash[nums[i]]=i
return [-1, -1]