class Solution {
public:
int findDuplicate(vector<int>& nums) { //Floyd 判圈算法
int slow = 0;
int fast = 0;
do{
slow = nums[slow];
fast = nums[nums[fast]];
}while(slow != fast);
fast = 0;
while(slow != fast){
slow = nums[slow];
fast = nums[fast];
}
return slow;
}
};
LeetCode 287. 寻找重复数
于 2024-08-07 14:30:42 首次发布