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

โปรแกรมค้นหาองค์ประกอบในรายการที่มีค่าเท่ากับความถี่ใน Python


สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องตรวจสอบว่ามีองค์ประกอบใดบ้างที่มีความถี่ในรายการเท่ากับค่าของมันหรือไม่

ดังนั้น หากอินพุตเป็น [2, 4, 8, 10, 4, 4, 4] เอาต์พุตจะเป็น True

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • res :=แผนที่ใหม่เพื่อเก็บค่าความถี่ที่ชาญฉลาด
  • สำหรับแต่ละคู่ของค่าคีย์ (k,v) ใน res ให้ทำ
    • ถ้า k เหมือนกับ v แล้ว
      • คืนค่า True
  • คืนค่าเท็จ

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

ตัวอย่าง

class Solution:
   def solve(self, nums):
      res = {}
      for i in nums:
         try:
            res[i] += 1
         except:
            res[i] = 1
      for k,v in res.items():
         if k == v:
            return True
      return False
ob = Solution()
print(ob.solve([2, 4, 8, 10, 4, 4, 4]))

อินพุต

[2, 4, 8, 10, 4, 4, 4]

ผลลัพธ์

True