檢查一個字串中出現次數最多的字元是否在另一個字串中出現相同次數(Python)


假設我們有兩個字串s和t,我們需要從s中選擇出現頻率最高的字元,然後檢查該字元在t中出現的次數是否相同。

因此,如果輸入類似於s = "crosssection", t = "securesystem",則輸出為True,因為s中出現頻率最高的字元是's'。並且's'在t中出現的次數相同。

為了解決這個問題,我們將遵循以下步驟:

  • freq := 包含s中所有字元及其頻率的對映
  • max_freq_char = s中頻率最高的字元
  • max_freq := max_freq_char的頻率值
  • 如果max_freq_char在t中出現的次數與max_freq相同,則
    • 返回True
  • 返回False

示例

讓我們看看下面的實現來更好地理解:

 線上演示

from collections import defaultdict
def solve(s, t) :
   freq = defaultdict(int)
   for char in s :
      freq[char] += 1
   max_freq_char = max(freq, key=freq.get)
   max_freq = freq[max_freq_char]
   if max_freq == t.count(max_freq_char) :
      return True
   return False
s = "crosssection"
t = "securesystem"
print(solve(s, t))

輸入

"crosssection", "securesystem"

輸出

True

更新於:2021年1月19日

167 次檢視

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告