从 Python 中的元素列表中查找重复项的程序
假设我们有一个名为nums的元素列表,大小为n+1,它们是从范围1,2,...,n中选择的。众所周知,根据鸽巢原理,必定有副本。我们必须找到副本。这里我们的目标是在O(n)时间和恒定空间中找到任务。
所以,如果输入像nums=[2,1,4,3,5,4],那么输出将是4
示例
让我们看下面的实现来更好地理解
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