int Solution::singleNumber(const vector &A)
{
int num_0 = 0;
int num_1 = 0;
int a=0;
for(int x=0; x<31; x++)
{
num_0 = 0;
num_1 = 0;
for(int y=0; y<A.size(); y++)
{
if(A[y]&(1<<x))
{
num_1++;
}
else
{
num_0++;
}
}
if(num_0%3 == 0)
{
a|=(1<<x);
}
}
return a;
}
Easy C++ solution in O(n) time and O(1) space!
TLE
#1
int Solution::singleNumber(const vector<int> &A)
{
int res=0;
for(int i=0; i<32; i++)
{
int x = 1<<i, sum = 0;
for(auto j: A)
sum += ((j&x)? 1: 0);
if(sum%3)
res = res | x;
}
return res;
}