1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次,要求速度尽可能的快

异或解决方案


package com.test;



public class YiHuo {


/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/*int i= 100;
int j = 101;
System.out.println(i ^ j);
        System.out.println(1 ^ 2 ^ 3 ^ 4 ^ 1^ 2 );*/
        int arr[] = {1,2,3,4,5,6,7,8,8};
     int result =  YiHuo.arr(arr, arr.length);
     System.out.println(result);
}
public static int arr(int arr[],int length){
int result = 0;
 for(int i = 1;i< length; i++){
 
        result ^= i;
       }
 for(int j = 0;j< length; j++){
 
        result ^= arr[j];
       }
 return result;
}


}

你可能感兴趣的:(java算法面试题)