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

数组中只出现一次的数字

作者: 稀饭粥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