[LeetCode] 137. Single Number II

来源:互联网 发布:linux 调用中文输入法 编辑:程序博客网 时间:2024/06/08 01:53

思路:
这是一个通用的方法, 适用于任何k. 我们把所有数字每一位上的数(0或1)都加起来, 然后对k取余, 最后剩下来的就是我们的结果.

int singleNumber(vector<int>& nums) {    int k = 3, res = 0;    int bits[32] = {0};    for (int i = 0; i < 32; i++) {        for (int j = 0; j < nums.size(); j++)            bits[i] += (nums[j] >> i) & 1;        res |= (bits[i] % k) << i;    }    return res;}
0 0
原创粉丝点击