异或的灵活使用1-2(找出数组中那个落单的数)
程序员文章站
2022-04-03 08:52:28
...
@Test
public void test1(){
//制造一个长度为N的符合题意的数组
int N=11;
int[] array=new int[N];
for (int i =0 ; i <((N-1)/2) ; i++) {
array[i]=i+1;
array[i+5]=i+1;
}
Random random = new Random();
int i = random.nextInt(N - 2);
array[N-1]=i+N;
System.out.println(Arrays.toString(array));
//找出多出来的那个
int result=0;
//将数组里面的数互相异或求得结果
for (int j = 0; j <N ; j++) {
result=result^array[j];
}
System.out.println(result);
}