检查任何字符的频率是否超过 Python 中字符串长度的一半
假设我们有一个包含小写、大写、数字和特殊字符的字符串s。我们必须检查任何一个字符的频率是否超过字符串长度的一半。
因此,如果输入类似于s="CC*Ca5&CC",那么输出将为True,因为'C'的频率为5,字符串的长度为9。(5>9/2)。
为了解决这个问题,我们将按照以下步骤操作-
freq:=包含s字符频率的映射
对于频率中的每个ch,执行
返回true
如果ch的频率>(s/2的大小),则
返回false
让我们看看以下实现以获得更好的理解-
示例代码
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))输入
"CC*Ca5&CC"
输出结果
True