qingcheng奕  

有一列数,其中有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;
    }
};

 

posted on 2014-10-13 10:56  qingcheng奕  阅读(129)  评论(0编辑  收藏  举报