Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมค้นหาองค์ประกอบจากรายการที่เกิดขึ้นอย่างน้อย k ครั้งใน Python


สมมติว่าเรามีรายการองค์ประกอบที่เรียกว่า 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
  • ผลตอบแทน

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

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]