解法:
利用二进制,记录一下每一位上1出现的次数。然后除k,如果余1的话就说明只出现了一次的数这一位是1,然后恢复成十进制。

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param arr intvector 
     * @param k int 
     * @return int
     */
    int foundOnceNumber(vector<int>& arr, int k) {
        // write code here
        int sum = 0;
        int cnt;
        for(int i = 31; i >= 0; i--)
        {
            cnt = 0;
            for(int j = 0; j < arr.size(); j++)
            {
                cnt += (arr[j] >> i) & 1;
            }
            sum = 2 * sum + cnt%k;
        }
        return sum;
    }
};