定义数组的排序规则:numbers[i]=i;
从数组的0位置开始,寻找与位置坐标对应的数组元素
1.如果两坐标元素相等,返回
2.否则,交换两元素的位置。是数组元素在对应的位置坐标中

代码
public int duplicate (int[] numbers) {
int length=numbers.length;
for(int i=0;i<length;i++)
{
if(numbers[i]!=i){
//numbers[i]应该放在numbers[numbers[]]位置
if(numbers[i]==numbers[numbers[i]]) return numbers[i];
int temp=numbers[numbers[i]];
numbers[numbers[i]]=numbers[i];
numbers[i]=temp;
i--;
}
}
return -1;
}