LeetCode 137 Single Number II 数组中除了一个数外,其他的数都出现了三次,找出这个只出现一次的数
Given an array of integers, every element appears three times except for one, which appears exactly once. Find that single one.
Note:Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
1 class Solution { 2 public: 3 int singleNumber(vector<int>& nums) { 4 int size=nums.size(); 5 if(size==0||nums.empty()) 6 return -1; 7 int res=0; 8 for(int i=0;i<32;++i) 9 { 10 int sum=0; 11 for(int j=0;j<size;++j) 12 sum+=(nums[j]>>i)&1; 13 res+=(sum%3)<<i; 14 } 15 return res; 16 } 17 };