哈希表法

每访问到一个元素,判断哈希表内是否存在一个数与其之和等于目标值,若不存在,则将该元素加入哈希表;若存在,则返回结果

注:由于从左到右遍历,下标递增,不需要再比较下标


# @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