สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องตรวจสอบว่ามีองค์ประกอบใดบ้างที่มีความถี่ในรายการเท่ากับค่าของมันหรือไม่
ดังนั้น หากอินพุตเป็น [2, 4, 8, 10, 4, 4, 4] เอาต์พุตจะเป็น True
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- res :=แผนที่ใหม่เพื่อเก็บค่าความถี่ที่ชาญฉลาด
- สำหรับแต่ละคู่ของค่าคีย์ (k,v) ใน res ให้ทำ
- ถ้า k เหมือนกับ v แล้ว
- คืนค่า True
- ถ้า k เหมือนกับ v แล้ว
- คืนค่าเท็จ
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
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