สมมติว่ามีรายการตัวเลขชื่อ 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