137. 只出现一次的数字 II

 1 //用bits数组统计nums中所有数转化成二进制后,每个位上1的个数
 2 //将bits数组中能够整除3的值置0,不能整除3的值置1
 3 //将bits转换成真的二进制数
 4 class Solution 
 5 {
 6 public:
 7     int singleNumber(vector<int>& nums) 
 8     {
 9         vector<int> bits(32);
10         long long ans = 0;
11         for (int i = 0; i < 32; i++) 
12         {
13             for (int j = 0; j < nums.size(); j++)
14                 bits[i] += (nums[j] >> i) & 1;
15             ans += (bits[i] % 3) * pow(2,i);
16         }
17         return ans;
18     }
19 };

 

posted @ 2020-04-02 17:26  Jinxiaobo0509  阅读(164)  评论(0)    收藏  举报