1、题目:
给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target的那两个整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
2、代码:
def twoSum(self, nums, target: int):
'''
使用hash表(字典类型):
1.算出当前数字和目标数字的差
2.检查哈希表中是否存在该差,存在,返回结果
3.不存在,当前数字作为key,索引作为value存入哈希表
'''
hashtable=dict()
for i,num in enumerate(nums):
if target-num in hashtable:
return [hashtable[target-num],i]
hashtable[nums[i]]=i
return []
3、示例
a, b = twoSum(nums=[2, 7, 11, 15], target=18)
print("a:", a, "b:", b)