有一列数,其中有1个数出现了1次,其它数都出现了3次,求这个数。
class Solution { public: int singleNumber(int A[], int n) { if(n <= 0 ) return 0; int ans = 0; for(int i = 0; i < 32; i++) { int q = 0; for(int j = 0; j < n; j++) { int p = A[j] >> i & 1; q = (q + p ) % 3; } ans = ans | q <<i; } return ans; } };