题解 | #两数之和#

两数之和

http://www.nowcoder.com/practice/20ef0972485e41019e39543e8e895b7f

一次遍历数组,遍历过程中,维持一个哈希表,用来保存值和下标,然后判断哈希表中是否有target-num[i]。

class Solution {
public:
    /**
     * 
     * @param numbers int整型vector 
     * @param target int整型 
     * @return int整型vector
     */
    vector<int> twoSum(vector<int>& numbers, int target) {
        vector<int> result{};
        unordered_map<int,int> un_map{}; //<val,index>
        for(int i=0;i<numbers.size();++i){
            if (un_map.find(target-numbers[i])!=un_map.end()){
                result.push_back(i);
                result.push_back(un_map[target-numbers[i]]);
            }
            else{
                un_map.insert({numbers[i],i});
            }
        }
        sort(result.begin(),result.end());
        for(auto& x:result) x++;
        return result;
    }
};
全部评论

相关推荐

服从性笔试吗,发这么多笔,现在还在发。
蟑螂恶霸zZ:傻 x 公司,发两次笔试,两次部门匹配挂,
投递金山WPS等公司10个岗位 >
点赞 评论 收藏
分享
10-24 13:36
门头沟学院 Java
Zzzzoooo:更新:今天下午有hr联系我去不去客户端,拒了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务