概述
题目链接
难度: 中等 类型:数组
给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。
示例1
输入: [1,3,4,2,2]
输出: 2
示例2
输入: [3,1,3,4,2]
输出: 3
解题思路
将每一个数字k都放在数组的第k-1位上(如数字1放在第0位,数字3放在第2位),若该位上已有正确的数字,则该数位重复数
代码实现
class Solution(object):
def findDuplicate(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
# write code here
n = len(nums)
i = 0
while i
if nums[i] != i+1:
if nums[nums[i]-1] == nums[i]:
return nums[i]
else:
nums[nums[i]-1], nums[i] = nums[i], nums[nums[i]-1]
else:
i += 1
最后
以上就是粗犷飞鸟为你收集整理的python输入一组数字、找出相同的_LeetCode-python 287.寻找重复数的全部内容,希望文章能够帮你解决python输入一组数字、找出相同的_LeetCode-python 287.寻找重复数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复