bool duplicate(int numbers[], int length, int* duplicate)
{
if(numbers == nullptr || length <= 0)
{
return false;
}
for(int i = 0; i <= length; ++i )
{
if(numbers[i] > length-1 || numbers[i] < 0)
return false;
}
for(int i = 0; i < length; ++i)
{
while(numbers[i] != i)
{
if(numbers[i] == numbers[numbers[i]])
{
*duplicate = numbers[i];
return true;
}
//交换位置
int swap = numbers[i];
numbers[i] = numbers[swap];
numbers[swap] = swap;
}
}
return false;
}