题目描述:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标。
算法详解:
利用哈希表,遍历数组中每一个数,键存储目标数和数组中数字的差值,值存储对应数组中数字的下标,这样就可以存储数组中每个值想要对应的另外一个数.(对于每一个 x
,我们首先查询哈希表中是否存在 target - x
,然后将 x
插入到哈希表中,即可保证不会让 x
和自己匹配。)
from typing import List
class Solution:
def twoSum(self,nums:List[int],target:int)->List[int]:
hashtable = dict()
for index,num in enumerate(nums):
if target-num in hashtable:
return[hashtable[target-num],index]
hashtable[nums[index]] = index
return[]
test = Solution()
print(test.twoSum([2,4,1,7,6],5))