当前位置:网站首页>【LeetCode】287. 寻找重复数

【LeetCode】287. 寻找重复数

2022-06-10 01:08:00 LawsonAbs

1.题目

2.思想

因为题目中说到: ==只有 一个重复的整数 ==,这就说明,当我们不停的交换即可,只要碰到一个相同的数就可以返回。

3.代码

class Solution:
    def findDuplicate(self, nums: List[int]) -> int:        
        for i in range(len(nums)):
            while(i != nums[i]-1):
                idx = nums[i] - 1  # nums[i] 这个数应该放到的下标位置
                if nums[i] == nums[idx]: # 找到结果
                    return nums[i]
                else:
                    nums[i],nums[idx] = nums[idx],nums[i] # swap
        print(nums)
原网站

版权声明
本文为[LawsonAbs]所创,转载请带上原文链接,感谢
https://lawson-t.blog.csdn.net/article/details/125153203