哈希表法
每访问到一个元素,判断哈希表内是否存在一个数与其之和等于目标值,若不存在,则将该元素加入哈希表;若存在,则返回结果
注:由于从左到右遍历,下标递增,不需要再比较下标
# @param numbers int整型一维数组
# @param target int整型
# @return int整型一维数组
#
class Solution:
def twoSum(self , numbers: List[int], target: int) -> List[int]:
# 哈希表
dic = {}
for i in range(len(numbers)):
subTarget = target - numbers[i]
# 判断已访问过的数,是否存在目标值
if subTarget in dic:
return [dic[subTarget]+1,i+1]
dic[numbers[i]] = i