美文网首页
数组中只出现一次的数字

数组中只出现一次的数字

作者: 稀饭粥95 | 来源:发表于2018-08-29 21:14 被阅读16次

    一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。

    public class Solution {
            public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) {
                int val = 0;
                for(int i=0;i<array.length;i++){
                    val = val ^ array[i];
                }
                int index =1;
                while((index&val)==0){
                    index= index<<1;
                }
                int a=0;
                int b=0;
                for(int i=0;i<array.length;i++){
                    int data = array[i];
                    if((data&index)==0){
                        a = a^ data;
                    }else{
                        b= b^data;
                    }
                }
                System.out.println(a+" "+b);
                num1[0] = a;
                num2[0] = b;
                 
            }
    }
    

    相关文章

      网友评论

          本文标题:数组中只出现一次的数字

          本文链接:https://www.haomeiwen.com/subject/fgtlwftx.html