数组中只出现一次的数字
题目链接
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]; } } };