zoukankan      html  css  js  c++  java
  • leetcode 137. Single Number II ----- java

    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?

    求出数组中只出现一次的数,剩下的都是三次。

    /**
     * Created by wangzunwen on 2016/11/14.
     */
    public class singleNumber2 {
    
        public int singleNumber(int[] nums) {
    
    
            int result = 0;
    
            for( int i = 0;i<32;i++){
    
                int num = 0;
                for( int j = 0;j<nums.length;j++){
                    if(( nums[j] >> i &1) == 1 ){
                        num++;
                    } 
    
    
                }
                num%=3;
                result+=(num<<i);
            }
            return result;
    
    
        }
    }
    public class Solution {
        public int singleNumber(int[] A) {
            int n = A.length;
            int one=0, two=0, three=0;  
            for(int i=0; i<n; i++){  
                two |= one&A[i];  
                one^=A[i];  
                //cout<<one<<endl;  
                three=one&two;  
                one&= ~three;  
                two&= ~three;  
            }  
            return one; 
    
        }
    }
  • 相关阅读:
    LaTeX插入数学公式
    清除浮动的4种方式
    水平居中与垂直居中
    如何实现两三栏布局
    BFC
    flex弹性盒子
    盒模型
    Git
    jQuery设置disabled属性与移除disabled属性
    TP---where多条件查询
  • 原文地址:https://www.cnblogs.com/xiaoba1203/p/6064615.html
Copyright © 2011-2022 走看看