用 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

更新於: 11-Oct-2021

152 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始
廣告