今天终于看懂了这code:
int hasDuplicate(int[] a, int n){ for(int i=0;i<n;++i){ while(a[i]!=i && a[i]!=-1){ if(a[a[i]]==-1) return 1; a[i]=a[a[i]]; a[a[i]]=-1; } if(a[i]==i) {a[i]=-1;} } return 0; }