题解 | #两数之和#

两数之和

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

public:
    /**
     * 
     * @param numbers int整型vector 
     * @param target int整型 
     * @return int整型vector
     */
    vector<int> twoSum(vector<int>& numbers, int target) {
        // write code here
        int n = numbers.size();
        vector<int> res;
        if(!n) return res;
        unordered_map<int, int> hasmap;  //使用哈希表去保存
        for(int i = 0; i < n; ++i){
            if(hasmap.find(target - numbers[i]) != hasmap.end()){   //find函数返回值不是end
                res.emplace_back(hasmap[target - numbers[i]] + 1);   //在数组中保存
                res.push_back(i + 1);
                break;
            }else{
                hasmap[numbers[i]] = i;  //将未找到的存入哈希表
            }
        }
        return res;
    }
};
全部评论

相关推荐

11-04 14:10
东南大学 Java
_可乐多加冰_:去市公司包卖卡的
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务