定义一个空字典,遍历数组,当sum-当前num不存在于字典中时,将当前数字num存入字典,对应的值是其坐标;直到sum-num在字典中时,输出sum-num在字典中的值和当前索引。

class Solution:
    def twoSum(self , numbers , target ):
        # write code here
        # 假设给出的数组中只存在唯一解
        # 返回这两个加数的下标
        # 下标从1开始
        dic = {}
        for i, num in enumerate(numbers):
            if dic.get(target - num, -1) != -1:
                return [dic.get(target-num)+1, i+1]
            dic[num] = i
        return []