利用 Python 從元素列表中查詢重複項的程式
假設我們有一個名為 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) 的下限
return 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
廣告