Leetcode 1. Two Sum

从前往后遍历,遍历到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
            
posted @ 2019-10-11 14:20  benda  阅读(91)  评论(0编辑  收藏  举报