同样还是0到n-1给了我新的想法,我甚至可以不用开辟新的数组空间,直接在原数组上通过下标索引将数组进行重排,那么此时时间复杂度仍然还是O(n),但是空间复杂度却变成了O(1)
for ( int i = 0 ; i < a.length ; i++ ){
while( a[i] != i ){
if( a[i] == a[ a[i]] ){
System.out.print(a[i]);
return ;
}
else{
int temp = a[i] ;
a[i] = a[ a[i]] ;
a[temp] = temp ;
}
}
}