梦开始的地方

class Solution:
    def twoSum(self , numbers: List[int], target: int) -> List[int]:
        # write code here
        value2index = {}  # 保存见过的数值和index
        for i,num in enumerate(numbers):
            if (target-num) in value2index:
                return [value2index[target-num]+1, i+1]
            value2index[num] = i 

非常简单地保存下前面见过的数字和index,只要后面找到能配对的就结束了。

值得注意的有两个点:

  1. 因为是从左往右遍历,所以在dict里的值对应的index一定比当前index小,所以不需要判断;
  2. 别忘了下标+1.