用 Python 编写程序,从 1 到 n 的 n+1 个数字中查找重复元素
pythonserver side programmingprogramming更新于 2026/1/12 8:12:17
假设我们有一个长度为 n + 1 的数字列表,称为 nums。这些数字是从 1、2、...、n 范围内挑选出来的。众所周知,使用鸽巢原理,一定有一个重复项。我们必须找到并返回它。
因此,如果输入为 [2, 1, 4, 3, 3],则输出将为 3
要解决这个问题,我们将遵循以下步骤 −
- l := nums 的大小
- temp := l*(l-1) /2
- temp_sum := nums 中所有元素的总和
- 返回 (temp_sum - temp)
让我们看看下面的实现以便更好地理解 −
示例
class Solution: def solve(self, nums): l = len(nums) temp = l*(l-1)/2 temp_sum = sum(nums) return temp_sum-temp ob = Solution() print(ob.solve([2, 1, 4, 3, 3]))
输入
[2, 1, 4, 3, 3]
输出
3
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

