Python 中檢查字串是否包含 m 個連續的 1 或 0
假設我們有一個二進位制字串 s 和另一個值 m,我們需要檢查該字串是否包含 m 個連續的 1 或 m 個連續的 0。
因此,如果輸入類似於 s = "1110111000111",m = 3,則輸出將為 True,因為存在三個連續的 0 和 1。
為了解決這個問題,我們將遵循以下步驟:
- str_size := s 的大小
- count_0 := 0,count_1 := 0
- 對於 i 從 0 到 str_size - 2,執行以下操作:
- 如果 s[i] 等於 '0',則
- count_1 := 0
- count_0 := count_0 + 1
- 否則,
- count_0 := 0
- count_1 := count_1 + 1
- 如果 count_0 等於 m 或 count_1 等於 m,則
- 返回 True
- 如果 s[i] 等於 '0',則
- 返回 False
讓我們看看下面的實現,以便更好地理解:
示例
def solve(s, m): str_size = len(s) count_0 = 0 count_1 = 0 for i in range(0, str_size - 1): if (s[i] == '0'): count_1 = 0 count_0 += 1 else : count_0 = 0 count_1 += 1 if (count_0 == m or count_1 == m): return True return False s = "1110111000111" m = 3 print(solve(s, m))
輸入
"1110111000111", 3
輸出
True
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP