检查 Python 中字符串中所有字符的频率是否为质数
假设我们有一个字符串 s。我们必须检查 s 中的每个字符出现的次数是否是质数
因此,如果输入为 s = "apuuppa",则输出将为 True,因为有两个“a”、三个“p”和两个“u”。
为了解决这个问题,我们将遵循以下步骤:
- freq := 包含所有字符及其频率的映射
- 对于 freq 中的每个 char,执行以下操作
- 如果 freq[char] > 0 并且 freq[char] 不是质数,则
- 返回 False
- 如果 freq[char] > 0 并且 freq[char] 不是质数,则
- 返回 True
让我们看以下实现以获得更好的理解 -
示例代码
from collections import defaultdict def isPrime(num): if num > 1: for i in range(2, num): if num % i == 0: return False return True return False def solve(s): freq = defaultdict(int) for i in range(len(s)): freq[s[i]] += 1 for char in freq: if freq[char] > 0 and isPrime(freq[char]) == False: return False return True s = "apuuppa" print(solve(s))
输入
"apuuppa"
输出
True
广告