用 Python 编写的程序,用于从元素列表中查找重复项
pythonserver side programmingprogramming更新于 2025/12/17 18:20:17
假设我们有一个名为 nums 的元素列表,大小为 n + 1,它们从范围 1、2、...、n 中选择。我们知道,根据鸽巢原理,一定有一个重复项。我们必须找到重复项。这里我们的目标是在 O(n) 时间和常数空间内找到任务。
因此,如果输入为 nums = [2,1,4,3,5,4],则输出为 4
为了解决这个问题,我们将遵循以下步骤 −
q := nums 中存在的所有元素的总和
n := nums 的大小
v := ((n - 1)*(n)/2) 的下限
返回 q - v
示例
让我们看看下面的实现以便更好地理解
def solve(nums): q = sum(nums) n = len(nums) v = (n - 1) * (n) // 2 return q - v nums = [2,1,4,3,5,4] print(solve(nums))
输入
[2,1,4,3,5,4]
输出
4
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

