题解 | #数组中只出现一次的两个数字#

数组中只出现一次的两个数字

http://www.nowcoder.com/practice/389fc1c3d3be4479a154f63f495abff8

位运算第四题 hash的另一种用法
以前做的事删除重复的,这次做的是记录不重复的,也就是吧hash中所有只出现一次的都记录下来
最后的sort是他要求输出时按非降序排列
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param array int整型vector 
     * @return int整型vector
     */
    vector<int> FindNumsAppearOnce(vector<int>& array) {
        // write code here
        // 把所有出现过多次的删除就好了
        vector<int> ans;
        map<int,int> hash;
        for(int i=0;i<array.size();i++)
        {
            hash[array[i]]++;
        }
        for(int i=0;i<array.size();i++)
        {
            if(hash[array[i]]==1)
                ans.push_back(array[i]);
        }
        sort(ans.begin(),ans.end());
        return ans;
    }
};
题解 文章被收录于专栏

一遍做剑指offer 一边保存做题步骤 并附带详细注释哦

全部评论

相关推荐

尊嘟假嘟点击就送:加v细说,问题很大
点赞 评论 收藏
分享
jack_miller:我给我们导员说我不在这里转正,可能没三方签了。导员说没事学校催的时候帮我想办法应付一下
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务