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的末尾
- 如果c[n] >= k,则
- 返回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]
广告