public class test {
//空间换时间,适用数组中的最大数字较小且空间足够
@Test
public void m1(){
int[] arr = new int[]{1,2,3,4,8,9,12,32,66,77,32,12,9,8,4,3,2,1};
int[] count = new int[100];
for (int i = 0; i < arr.length; i++) {
count[arr[i]]++;
}
for (int i = 0; i < count.length; i++) {
if(count[i] == 1){
System.out.println(i);
break;
}
}
}
//时间换空间
@Test
public void m2(){
int[] arr = new int[]{1,2,3,4,8,9,12,32,66,77,32,12,9,8,4,3,2,1};
boolean flag = false;
for (int i = 0; i < arr.length; i++) {
flag = false;
for (int j = 0; j < arr.length; j++) {
if(i != j && arr[i] == arr[j]){
flag = true;
break;
}
}
if(!flag){
System.out.println(arr[i]);
break;
}
}
}
}
......