class Solution {
public:
int findDuplicate(vector<int>& nums) {
int fast=0,slow=0;
while (true){
fast=nums[nums[fast]];
slow=nums[slow];
if (slow==fast){
//定位环入口
fast=0;
while (nums[slow]!=nums[fast]){
fast=nums[fast];
slow=nums[slow];
}
return nums[slow];
}
}
}
};
[LeetCode]287. 寻找重复数
最新推荐文章于 2025-07-27 17:01:48 发布
