题解 | #两数之和#

两数之和

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

class Solution {
public:
    /**
     * 
     * @param numbers int整型vector 
     * @param target int整型 
     * @return int整型vector
     */
    vector<int> twoSum(vector<int>& numbers, int target) {
        int size = numbers.size();
        vector<int> ans;
        unordered_map<int, int > map;
        unordered_map<int, int >::iterator it;
        for(int i=0; i<size; i++){
            map.insert(make_pair(numbers[i], i));
        }
        
        for(int i=0; i<size; i++){
            if((it = map.find(target-numbers[i]))!=map.end()&&it->second!=i){
                int min = it->second>i ? i: it->second;
                int max = it->second<i ? i: it->second;
                ans.insert(ans.begin(), min+1);
                ans.insert(ans.begin()+1, max+1);
                break;
            }
        }
        return ans;
    }
};
全部评论

相关推荐

点赞 评论 收藏
分享
zaakfung:26届不应该春招吗 为啥还实习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务