数组中只出现一次的数字
题目链接
Solution
只有两个数字出现了1次,其他数字都出现两次。
所以定义一个map,记录每个数字出现的次数。
最后扫一遍数组,找出只出现一次的数字即可。
Code
class Solution {
public:
void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) {
ap<int,int>mp;
bool fir = 0;
for (int i = 0; i < (int)data.size(); ++i) mp[data[i]] ++;
for (int i = 0; i < (int)data.size(); ++i)
if (mp[data[i]] == 1) {
if (!fir) *num1 = data[i], fir = 1;
else *num2 = data[i];
}
}
};