用 Python 統計陣列中其後元素也出現在該陣列中的元素個數的程式
假設我們有一個數字列表,稱為 nums,則需要查詢陣列中元素 x 的數量,使其後的 x + 1 也存在該陣列中。
因此,如果輸入是 nums = [4, 2, 3, 3, 7, 9],則輸出將為 3,因為 2+1 = 3 存在,3+1 = 4 存在,另外一個 3 存在,所以總計 3。
為了解決這個問題,我們將遵循以下步驟 −
answer := 0
c := 一個包含 nums 中每個元素頻率的列表
dlist := 一個由 c 的所有鍵構成的列表
對 dlist 中的每個 i 執行以下操作:
如果 c[i + 1] > 0,則
answer := answer + c[i]
返回 answer
示例
讓我們看看以下實現以獲得更好的理解
from collections import Counter def solve(nums): answer = 0 c = Counter(nums) dlist = list(c.keys()) for i in dlist: if c[i + 1] > 0: answer += c[i] return answer nums = [4, 2, 3, 3, 7, 9] print(solve(nums))
輸入
[4, 2, 3, 3, 7, 9]
輸出
3
廣告