zoukankan      html  css  js  c++  java
  • LeetCode_Single Number II

    Given an array of integers, every element appears three times except for one. Find that single one.
    
    Note:
    Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
    

    分析: 统计每一位1出现的个数,最后摸3求余数,1则置最终位为1

    class Solution {
    public:
        int singleNumber(int A[], int n) {
            // Note: The Solution object is instantiated only once and is reused by each test case.
            int res = 0;
            int x, sum;
            
            for(int i = 0; i < 32; ++i){
               
                sum = 0;
                x = (1<<i);
                
                for(int j = 0; j< n; ++j)
                    if(A[j]&x)
                        ++sum;
                        
                sum = sum%3;
                
                if(sum == 1)
                    res |= x;
            }
            
            return res;
        }
    };
  • 相关阅读:
    mapreduce 函数入门 三
    *hiho 1475
    hiho 1571
    hiho 1620
    hiho 1613
    centos下nginx配置
    hiho 1617
    hiho 172周
    uva 11584
    hiho1605
  • 原文地址:https://www.cnblogs.com/graph/p/3350771.html
Copyright © 2011-2022 走看看