코딩테스트

[릿코드 / js] 다시풀기 287. Find the Duplicate Number

_서리__ 2023. 9. 19. 14:41
var findDuplicate = function(nums) {
    let fast = 0;
    let slow = 0;
    while(true)
    {
        slow = nums[slow];
        fast = nums[fast];
        fast = nums[fast];
        if (slow === fast) break;
    }
    slow = 0;
    while (true)
    {
        slow = nums[slow];
        fast = nums[fast];
        if (slow === fast) return slow
    }
};

토끼와 거북이 알고리즘을 이용해 풀 수 있다.