首页 > 其他 > 详细

Leetcode 1

时间:2018-09-06 14:05:46      阅读:129      评论:0      收藏:0      [点我收藏+]
class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        unordered_map<int,int> m;
        vector<int> res;
        for(int i=0;i < nums.size();i++){
            m[nums[i]] = i;
        }
        for(int i=0;i < nums.size();i++){
            int t = target - nums[i];
            if(m.count(t) !=0 && m[t] != i){
                res.push_back(i);
                res.push_back(m[t]);
                break;
            }
        }
        return res;
    }
};

hash map 构建查找表,用target减去第一个找第二个,要注意如果target是自己的两倍也是要排除的,即:

if(m.count(t) !=0 && m[t] != i)

Leetcode 1

原文:https://www.cnblogs.com/cunyusup/p/9597584.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!