
플로이드의 토끼와 거북이 알고리즘은 연결 리스트나 배열에서 사이클(순환)을 탐지하는 알고리즘 이
알고리즘의 기본 원리
알고리즘의 작동 원리
알고리즘의 장점
class Solution:
def findDuplicate(self, nums: List[int]) -> int:
tuttle = nums[0]
rabbit = nums[0]
while True:
tuttle = nums[tuttle]
rabbit = nums[nums[rabbit]]
if tuttle == rabbit:
break
tuttle = nums[0]
while tuttle != rabbit:
tuttle = nums[tuttle]
rabbit = nums[rabbit]
return tuttle