Python程式查詢包含唯一字元的字串總數


假設我們有一個包含小寫字母的字串 s,我們需要找到包含唯一字元的所有子字串的總數。

因此,如果輸入類似於“xxyy”,則輸出將為 6,因為子字串為 [x, x, xx, y, y, yy]

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

  • total := 0
  • previous := 空字串
  • 對於字串 s 中的每個字元 c,執行以下操作:
    • 如果 c 與 previous 不相同,則:
      • previous := c
      • temp := 1
    • 否則:
      • temp := temp + 1
    • total := total + temp
  • 返回 total

讓我們看看以下實現,以便更好地理解:

示例

 線上演示

class Solution:
   def solve(self, s):
      total = 0
      previous = ''
      for c in s:
         if c != previous:
            previous = c
            in_a_row = 1
         else:
            in_a_row += 1
            total += in_a_row
      return total
ob = Solution()
print(ob.solve("xxyy"))

輸入

"xxyy"

輸出

6

更新於: 2020年10月6日

173 次檢視

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告