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

Kiểm tra tần suất ký tự có lớn hơn nửa độ dài chuỗi trong Python

Cho chuỗi s chứa chữ thường, hoa, số, ký tự đặc biệt. Kiểm tra xem có ký tự nào xuất hiện nhiều hơn một nửa độ dài chuỗi hay không.

Ví dụ: "CC*Ca5&CC" → độ dài 9, ký tự 'C' xuất hiện 5 lần > 4.5 → True.

Giải thuật

  • Đếm tần suất mỗi ký tự (dùng defaultdict).
  • Duyệt các tần suất, nếu có tần suất > len(s)//2 → True.

Mã ví dụ

from collections import defaultdict

def solve(s):
    freq = defaultdict(int)
    for ch in s:
        freq[ch] += 1
    for ch in freq:
        if freq[ch] > len(s) // 2:
            return True
    return False

s = "CC*Ca5&CC"
print(solve(s))

Đầu vào

"CC*Ca5&CC"

Đầu ra

True