检查任何字符的频率是否超过 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