使用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;
        
    }
};