Loading

1. 两数之和

题目

 

代码

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        vector<int> res;
        std::map<int,int> table;
        for(int i=0;i<nums.size();i++)
        {
            int remain=target-nums[i];
            if(table.find(remain)!=table.end())
            {
                res.push_back(i);
                res.push_back(table[remain]);
                return res;
            }
            table[nums[i]]=i;
        }
       
    }
};

 

思路

循环遍历数组,当target-nums[i]的值在table中存在的话,则把两个的位置返回,否则把<nums[i],i>插入到table中。

posted @ 2018-09-13 15:35  李正浩  阅读(95)  评论(0编辑  收藏  举报