【ATT】Single Number II

 

    int singleNumber(int A[], int n) {
        // Note: The Solution object is instantiated only once and is reused by each test case.
        if(n<=0)
            return 0;
        vector<int> cnt(32,0);
        
        int res = 0;
        
        for(int i=0;i<32;i++)
        {
            for(int j=0;j<n;j++)
            {
                if((A[j]>>i)&1==1)
                    cnt[i] = (cnt[i]+1)%3;
            }
            
            if(cnt[i]>0)
                res |= (1<<i);
        }
        
        return res;
        
    }

  

posted @ 2013-10-25 13:47  summer_zhou  阅读(139)  评论(0编辑  收藏  举报