码迷,mamicode.com
首页 > 其他好文 > 详细

01 two sum

时间:2015-05-27 08:36:55      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        map<int,int>hash;
        build(nums,hash);
        int index2=0;
        vector<int>result;
        for(int i=0;i!=nums.size();i++){
            index2=target-nums[i];
            if(hash.find(index2)!=hash.end()){
                if(i+1<hash[index2]){
                result.push_back(i+1);
                result.push_back(hash[index2]);
                return result;
                }
            }
        }
        
    }
    void build(vector<int>nums,map<int,int>&hash){
        for(int i=0;i!=nums.size();i++)
        hash[nums[i]]=i+1;
    }
};

用map实现hash

 

开始的时候比较蛋疼,它要返回位置。

于是在map里记录了位置,解决。

 

01 two sum

标签:

原文地址:http://www.cnblogs.com/footy/p/4532418.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!