public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) { int length=array.length; if(length==2){ num1[0]=array[0]; num2[1]=array[1]; } int bitres=0; for(int i=0;i<array.length;i++){ bitres^=array[i]; } int index=0; while ((bitres&1)==0 && index<32){ bitres>>=1; index++; } for(int i=0;i<length;i++){ if(((array[i]>>index)&1)==1){ num1[0]^=array[i]; }else { num2[0]^=array[i]; } } }
数组中有两个出现一次的数字,其他数字都出现两次,找出这两个数字
猜你喜欢
转载自blog.csdn.net/genghaihua/article/details/79944382
今日推荐
周排行