Giả sử chúng ta có một chuỗi s với các ký tự thường, hoa, số và đặc biệt. Chúng ta phải kiểm tra xem tần số của bất kỳ một ký tự nào có nhiều hơn một nửa độ dài của chuỗi hay không.
Vì vậy, nếu đầu vào là s ="CC * Ca5 &CC", thì đầu ra sẽ là True vì tần số của 'C' là 5 và độ dài của chuỗi là 9. (5> 9/2).
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- freq:=một bản đồ chứa tần số của các ký tự s
- đối với mỗi ch trong freq, thực hiện
- nếu tần số của ch> (kích thước của s / 2), thì
- trả về True
- nếu tần số của ch> (kích thước của s / 2), thì
- trả về Sai
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Mã mẫu
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