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

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

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

เช่น ถ้าอินพุตคือ [2, 4, 8, 10, 4, 4, 4] ผลลัพธ์จะเป็น True

ขั้นตอนการแก้ปัญหา

  • res := map ใหม่เก็บความถี่ตามค่า
  • สำหรับแต่ละคู่ (k,v) ใน res ถ้า k == v คืนค่า True
  • คืนค่า False

ตัวอย่างโค้ด

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