题解 | #数组中只出现一次的数(其它数出现k次)#
数组中只出现一次的数(其它数出现k次)
http://www.nowcoder.com/practice/5d3d74c3bf7f4e368e03096bb8857871
使用hash表,数组数字为key,出现的次数为value,当value==3时,从hash表中删除,到最后了,只剩一下一个元素,这个元素肯定是出现一次的数字。
class Solution {
public:
int foundOnceNumber(vector<int>& arr, int k) {
// write code here
unordered_map<int, int> m;
for(int i = 0;i < arr.size();i++)
{
m[arr[i]]++;
if(m[arr[i]] == k)
{
auto it = m.find(arr[i]);
m.erase(it);
}
}
return m.begin()->first;
}
};