檢查 Python 中任何字元的頻率是否超過字串長度的一半
假設我們有一個包含小寫字母、大寫字母、數字和特殊字元的字串 s。我們需要檢查是否存在任何一個字元的頻率超過字串長度的一半。
因此,如果輸入類似於 s = "CC*Ca5&CC",則輸出將為 True,因為 'C' 的頻率為 5,字串長度為 9。(5 > 9/2)。
為了解決這個問題,我們將遵循以下步驟:
- freq := 包含 s 字元頻率的對映
- 對於 freq 中的每個 ch,執行以下操作:
- 如果 ch 的頻率 > (s 的大小 / 2),則
- 返回 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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP