LeetCode 287. 寻找重复数

发布时间 2023-07-17 11:20:54作者: 穿过雾的阴霾
class Solution {
public:
    int findDuplicate(vector<int>& nums) {
        if(nums.size()<2)   return nums[0];
        int n=nums.size();
        int fast=0,slow=0;
        do
        {
            slow=nums[slow];
            fast=nums[fast];
            fast=nums[fast];
        }while(fast!=slow);
        slow=0;
        while(fast!=slow)
        {
            fast=nums[fast];
            slow=nums[slow];
        }
        return slow;
    }
};