int findDuplicate(int* nums, int numsSize){
int fast = 0, slow = 0;
while(1){
fast = nums[nums[fast]];//3 4 4 4
slow = nums[slow]; //1 3 2 4
if(fast == slow)break; //2 4 2
}
int finder = 0;
while(1){
finder = nums[finder];
slow = nums[slow];
if(slow == finder)
break;
}
return slow;
}
10-19