Giả sử chúng ta có một danh sách các phần tử được gọi là nums và một giá trị k. Chúng ta phải tìm những phần tử đã xảy ra ít nhất k số lần.
Vì vậy, nếu đầu vào giống như nums =[2,5,6,2,6,1,3,6,3,8,2,5,9,3,5,1] k =3, thì đầu ra sẽ là [2, 5,6, 3]
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- c:=danh sách chứa tần số của từng phần tử có trong nums
- res:=một danh sách mới
- đối với mỗi khóa n trong c, thực hiện
- nếu c [n]> =k, thì
- chèn n vào cuối res
- nếu c [n]> =k, thì
- trả lại res
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
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))
Đầu vào
[2,5,6,2,6,1,3,6,3,8,2,5,9,3,5,1], 3
Đầu ra
[2, 5, 6, 3]