欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

leetcode 寻找重复的数633 python

发布时间:2024/9/30 python 28 豆豆
生活随笔 收集整理的这篇文章主要介绍了 leetcode 寻找重复的数633 python 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

给出一个数组 nums 包含 n + 1 个整数,每个整数是从 1 到 n (包括边界),保证至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。

1.不能修改数组(假设数组只能读)
2.只能用额外的O(1)的空间
3.时间复杂度小于O(n^2)
4.数组中只有一个重复的数,但可能重复超过一次

您在真实的面试中是否遇到过这个题?
样例
样例 1:

输入:
[5,5,4,3,2,1]
输出:
5

思路1:
(对所有数求和-对所有无重复的数求和)/两个数组长度的差=重复值

class Solution:"""@param nums: an array containing n + 1 integers which is between 1 and n@return: the duplicate one"""def findDuplicate(self, nums):return (sum(nums) - sum(set(nums))) / (len(nums) - len(set(nums)))

思路2:
数组的计数count。遍历每一个数,直接返回count值大于1的项

class Solution:"""@param nums: an array containing n + 1 integers which is between 1 and n@return: the duplicate one"""def findDuplicate(self, nums):for num in nums:if nums.count(num)>1:return num

总结

以上是生活随笔为你收集整理的leetcode 寻找重复的数633 python的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。