从前往后遍历,遍历到i位置,查询target-nums[i]是否已经遍历到过。
class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        map<int,int> dict;
        for(int i=0;i<nums.size();++i){
            if(dict.find(target-nums[i]) != dict.end()){
                return vector<int>{dict[target-nums[i]],i};
            }
            dict[nums[i]]=i;
        }
        return vector<int>();
    }
};
python版本
class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        dic=dict()
        for idx,i in enumerate(nums):
            if target-i in dic.keys():
                return [dic[target-i],idx]
            dic[i]=idx
            原文:https://www.cnblogs.com/ximelon/p/11653914.html