我是靠谱客的博主 贪玩花瓣,这篇文章主要介绍LeetCode--Find the Duplicate Number(查找重复数字)Python,现在分享给大家,希望可以做个参考。

题目:

给定一个n+1个长度的数组,包含从1到n的数字,其中一定包含一个重复的数字,返回这个重复的数字。只能使用常量大小的额外空间

解题思路:

利用数组的下标,将检索过的数字对应下标位置的内容存储为原数字的负数。这样既能保存原数字的大小,又能存储到该数字是否存在的信息。

代码:

class Solution(object):
def findDuplicate(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
for i in range(len(nums)):
if nums[abs(nums[i])]<0:
return abs(nums[i])
else:
nums[abs(nums[i])] = -nums[abs(nums[i])]

最后

以上就是贪玩花瓣最近收集整理的关于LeetCode--Find the Duplicate Number(查找重复数字)Python的全部内容,更多相关LeetCode--Find内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部