我是靠谱客的博主 悲凉眼睛,最近开发中收集的这篇文章主要介绍(Leetcode) 寻找重复数 - Python实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目:寻找重复数
给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。
示例:
输入: [1,3,4,2,2],输出: 2
输入: [3,1,3,4,2],输出: 3
说明
不能更改原数组(假设数组是只读的)。
只能使用额外的 O(1) 的空间。
时间复杂度小于 O(n2) 。
数组中只有一个重复的数字,但它可能不止重复出现一次。

-------------------------------------------------------------------------------

思路:最容易想到的就是创建一个字典

解法1:字典+词频

class Solution(object):
def findDuplicate(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
dic = {}
for num in nums:
if num not in dic:
dic[num] = 1
else:
return num

解法2:数学方法

class Solution(object):
def findDuplicate(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
return int((sum(nums)-sum(set(nums))) / (len(nums)-len(set(nums))))

 

最后

以上就是悲凉眼睛为你收集整理的(Leetcode) 寻找重复数 - Python实现的全部内容,希望文章能够帮你解决(Leetcode) 寻找重复数 - Python实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部