Python 中檢查字串是否遵循 a^n b^n 模式


假設我們有一個字串 s,我們需要檢查該字串是否遵循 a^nb^n 模式。實際上,當 n = 3 時,字串將為 "aaabbb"。

因此,如果輸入類似於 s = "aaaaabbbbb",則輸出將為 True,因為它遵循 a^5b^5。

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

  • size := s 的大小
  • 對於範圍從 0 到 size - 1 的 i,執行以下操作:
    • 如果 s[i] 不等於 'a',則
      • 退出迴圈
  • 如果 i * 2 不等於 size,則
    • 返回 False
  • 對於範圍從 i 到 size - 1 的 j,執行以下操作:
    • 如果 s[j] 不等於 'b',則
      • 返回 False
  • 返回 True

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

示例

 線上演示

def solve(s):
   size = len(s)
   for i in range(size):
      if s[i] != 'a':
         break
   if i * 2 != size:
      return False
   for j in range(i, size):
      if s[j] != 'b':
         return False
   return True
s = "aaaaabbbbb"
print(solve(s))

輸入

"aaaaabbbbb"

輸出

True

更新於: 2020-12-29

160 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.