檢查 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
廣告