Python程式:查詢列表中至少出現k次的元素


假設我們有一個名為nums的元素列表和一個值k。我們必須找到至少出現k次的元素。

因此,如果輸入類似於nums = [2,5,6,2,6,1,3,6,3,8,2,5,9,3,5,1] k = 3,則輸出將為[2, 5, 6, 3]

為了解決這個問題,我們將遵循以下步驟:

  • c := 包含nums中每個元素頻率的列表
  • res := 一個新的列表
  • 對於c中的每個鍵n,執行:
    • 如果c[n] >= k,則
      • 將n插入res的末尾
  • 返回res

示例

讓我們看一下下面的實現,以便更好地理解:

from collections import Counter

def solve(nums, k):
   c = Counter(nums)
   res = []
   for n in c:
      if c[n] >= k:
         res.append(n)
   return res

nums = [2,5,6,2,6,1,3,6,3,8,2,5,9,3,5,1]
k = 3
print(solve(nums, k))

輸入

[2,5,6,2,6,1,3,6,3,8,2,5,9,3,5,1], 3

輸出

[2, 5, 6, 3]

更新於:2021年10月12日

259 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.