287. Find the Duplicate Number
Floyd’s tortoise and hare algorithm.
1class Solution:
2 def findDuplicate(self, nums: List[int]) -> int:
3 slow = fast = nums[0]
4 while True:
5 slow = nums[slow]
6 fast = nums[nums[fast]]
7 if slow == fast:
8 break
9
10 slow = nums[0]
11 while slow != fast:
12 slow = nums[slow]
13 fast = nums[fast]
14
15 return slow
#Neetcode150 #Linked-List #Python