《剑指offer》:统计数组中各数字的次数
#笔试题目##C/C++#《剑指offer》题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。 请写程序找出这两个只出现一次的数字。我用map去统计出现的次数,但是最后返回 两个数的时候,感觉使用的方法特别笨,哪位大神有更好的返回方法不?
class Solution {
public:
void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) {
map<int, int> map;
for(int i = 0; i < data.size(); i++)
map[data[i]]++;
bool flag = true;
for(int i = 0; i < data.size(); i++){
if(map[data[i]] == 1)
{
if(flag){
*num1 = data[i];
flag = false;
}
else
*num2 = data[i];
}
}
}
};