Python 程序用于计算字符串中子字符串出现的次数


假設我們有一個字串 s 和一個子字串 t,我們必須計算 t 在 s 中出現了多少次。

因此,如果輸入類似於 s = "abaabcaabababaab",t = "aab",那麼輸出將是 3,因為子字串為 ab(aab)c(aab)abab(aab)。

為了解決這個問題,我們將執行以下步驟:-

  • cnt := 0
  • 對於範圍從 0 到 (s 的大小 - t 的大小) 中的 i,執行
    • 如果從索引 i 到 i + t 的大小 - 1 的 s 子字串與 t 相同,則
      • cnt := cnt + 1
  • 回傳 cnt

範例

我們看看以下執行,以獲得更深入的了解

def solve(s, t):
   cnt = 0
   for i in range(0, len(s) - len(t) + 1):
      if s[i:i + len(t)] == t:
         cnt = cnt + 1
   return cnt

s = "abaabcaabababaab"
t = "aab"
print(solve(s, t))

輸入

"abaabcaabababaab", "aab"

輸出

3

更新日期: 2021 年 10 月 11 日

621 次瀏覽

开启职业生涯

完成课程获得认证

开始
广告