Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình kiểm tra tồn tại phần tử có tần suất bằng giá trị trong Python

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))

  1. Dùng Counter đếm tần suất: nums_c = Counter(nums)
  2. Duyệt các cặp (giá_trị, tần_số):
    • Nếu giá_trị == tần_số: trả về True
  3. 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