题解 | #数组中只出现一次的两个数字#
数组中只出现一次的两个数字
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 一边保存做题步骤 并附带详细注释哦