Cho danh sách nums. Kiểm tra xem có phần tử nào mà tần suất xuất hiện của nó bằng chính giá trị của nó hay không.
Ví dụ: nums = [2,5,7,5,3,5,3,5,9,9,5] → True vì số 5 xuất hiện 5 lần.
Thuật toán giải quyết (O(n))
- Dùng
Counterđếm tần suất:nums_c = Counter(nums) - Duyệt các cặp
(giá_trị, tần_số):- Nếu
giá_trị == tần_số: trả vềTrue
- Nếu
- Trả về
False
Ví dụ minh họa
from collections import Counter
def solve(nums):
nums_c = Counter(nums)
for i, j in nums_c.items():
if i == j:
return True
return False
nums = [2,5,7,5,3,5,3,5,9,9,5]
print(solve(nums))
Đầu vào
[2,5,7,5,3,5,3,5,9,9,5]
Đầu ra
True