1-1000这1000个数放在含有1001个元素的数组中,只有唯一一个元素重复,其他元素均只出现一次。每个元素只能访问一次,设计一个算法,将他找出来;不用辅助空间能否实现?
解题思路1:两个相同元素异或计算为0,0异或x 等于x。如果将原数组与1-1000进行异或运算,那么1-1000中只排除那个重复的元素,其他元素均出现两次,在进行了异或运算后为0。整体异或即可得该重复元素。
import java.util.Random;
public class Main {
public static void main(String[] args) {
// write your code here
int n =1001;
int[] arr = new int[n];
for(int i=0;i



