Leetcode 287 Solution
This article provides solution to leetcode question 287 (find-the-duplicate-number)
Access this page by simply typing in "lcs 287" in your browser address bar if you have bunnylol configured.
Leetcode Question Link
https://leetcode.com/problems/find-the-duplicate-number
Solution
class Solution:
def findDuplicate(self, nums: List[int]) -> int:
fast = len(nums) - 1
slow = len(nums) - 1
while True:
slow = nums[slow] - 1
fast = nums[nums[fast] - 1] - 1
if slow == fast:
break
slow = len(nums) - 1
while fast != slow:
slow = nums[slow] - 1
fast = nums[fast] - 1
return slow + 1