题解 | #数组中只出现一次的两个数字#
数组中只出现一次的两个数字
http://www.nowcoder.com/practice/389fc1c3d3be4479a154f63f495abff8
哈希
用一个map容器,存数组里面每个元素的出现次数。
然后遍历map,把值为2的键存入vector。
class Solution {
public:
vector<int> FindNumsAppearOnce(vector<int>& array) {
// write code here
map<int,int>s;
vector<int>num;
for(int i=0;i<array.size();i++){ //用map存出现的次数
s[array[i]]++;
}
map<int,int>::iterator iter;
for(iter=s.begin();iter!=s.end();iter++){ //遍历map,找值为2的对应的键
if(iter->second==1) num.push_back(iter->first);
}
return num;
}
};