สมมติว่าเรามีรายการองค์ประกอบที่เรียกว่า 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 :=รายการใหม่
- สำหรับแต่ละคีย์ n ใน c ทำ
- ถ้า c[n]>=k แล้ว
- ใส่ n ต่อท้าย res
- ถ้า c[n]>=k แล้ว
- ผลตอบแทน
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
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]