Python程式:查詢連續相同字元子串的長度


假設我們有一個字串s,我們需要找到最長相同字元子串的長度。

例如,如果輸入是"abbbaccabbbba",則輸出為4,因為有四個連續的'b'。

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

  • 如果s的長度為0,則
    • 返回0
  • s := s連線空格
  • ct:= 1, tem:= 1
  • 對於範圍從0到s的長度-2的i,執行:
    • 如果s[i]與s[i+1]相同,則
      • tem := tem + 1
    • 否則,
      • ct:= tem和ct的最大值
      • tem:= 1
  • 返回ct

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

示例

線上演示

class Solution:
   def solve(self, s):
      if len(s)==0:
         return 0
      s+=' '
      ct=1
      tem=1
      for i in range(len(s)-1):
         if s[i]==s[i+1]:
            tem+=1
         else:
            ct=max(tem,ct)
            tem=1
      return ct
ob = Solution()
print(ob.solve("abbbaccabbbba"))

輸入

"abbbaccabbbba"

輸出

4

更新於:2020年10月6日

487 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.