剑指OFFER 第一题
int n = nums.size();
for(auto x :nums)
if(x<0 || x>n-1)
return -1;
for(int i = 0; i < n;i++)
{
while(nums[i] != i) // i 不在 第i+1个(数组下标为i)的 位置上
{
if(nums[i] == nums[nums[i]]) //i(存储在nums[i]中)/|\与/|\ 当前下标为i 的位置中的数据 /|\ 相等时,说明i为重复数字
return nums[i];
swap(nums[i],nums[nums[i]]); // 将i(存储在nums[i]中)/|\与/|\ 当前下标为i 的位置中的数据 /|\ 交换数据
}
}
return -1;