1. 程式人生 > >LeetCode---287. Find the Duplicate Number

LeetCode---287. Find the Duplicate Number

題目

給出一個含有n+1個元素的陣列,裡面的元素值在1到n的範圍內,找出重複的數字,假設只存在一個重複的數字,該數字的次數可能出現多次。

Python題解

class Solution:
    def findDuplicate(self, nums):
        """
        :type nums: List[int]
        :rtype: bool
        """
        if len(nums) <= 1:
            return -1
        slow, fast = nums[0], nums[nums[0
]] while slow != fast: slow = nums[slow] fast = nums[nums[fast]] fast = 0 while fast != slow: fast = nums[fast] slow = nums[slow] return slow