在 Python 中檢查每個 a 組後面是否都跟著一個長度相同的 b 組
假設我們有一個只包含兩個字元 a 和 b 的小寫字串 s。我們必須檢查每個連續的 a 組後面是否都跟著一個長度相等的連續的 b 組。
因此,如果輸入類似於 s = "abaaabbbaabbaabbab",則輸出將為 True,因為所有組為 (ab)、(aaabbb)、(aabb)、(aabb)、(ab)。
為了解決這個問題,我們將遵循以下步驟:
- a_count := 0,string_len := s 的大小
- i := 0
- 當 i < string_len 時,執行以下操作:
- 當 i < string_len 且 s[i] 為 'a' 時,執行以下操作:
- a_count := a_count + 1
- i := i + 1
- 當 i < string_len 且 s[i] 為 'b' 時,執行以下操作:
- a_count := a_count - 1
- i := i + 1
- 如果 a_count 不為 0,則:
- 返回 False
- 當 i < string_len 且 s[i] 為 'a' 時,執行以下操作:
- 返回 True
示例
讓我們看看以下實現以獲得更好的理解:
def solve(s): a_count = 0 string_len = len(s) i = 0 while i < string_len: while i < string_len and s[i] == 'a': a_count += 1 i += 1 while i < string_len and s[i] == 'b': a_count -= 1 i += 1 if a_count != 0: return False return True s = "abaaabbbaabbaabbab" print(solve(s))
輸入
"abaaabbbaabbaabbab"
輸出
True
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP