找出缺失的一个数

问题: 给出一个长度为n-1的int类型的数组,里面的数组是1到n里面的n-1数,且没有重复的数组,请找出其中缺失的那一个数字,

思路: 使用异或运算来求解:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 代码输入位置
public class Main{

public static void main(String[] args){
// 输入的n-1个长度的数组
int[] arr = {1,2,3,6,7,8};
int n = arr.length+1;

int re = 0;
for(int i =0;i<n-1;i++){
re ^= arr[i];
re ^= (i+1);
}
re ^= (n);
System.out.println("缺失的数字是"+re);
}
}