在Python中从1到n的n + 1个数字中查找重复元素的程序
假设我们有一个称为数字的列表,其长度为n+1。这些数字是从范围1、2,...,n中选取的。众所周知,使用信鸽原理,必须有一个副本。我们必须找到并退还。
因此,如果输入类似于[2,1,4,3,3],则输出将为3
为了解决这个问题,我们将遵循以下步骤-
l:=nums的大小
温度:=l*(l-1)/2
temp_sum:=所有元素的总和
返回(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