檢查 Python 中二進位制字串中所有 1 是否等距
假設我們有一個二進位制字串 str,我們需要檢查字串中所有的 1 是否等距。換句話說,每兩個 1 之間的距離都相同。並且字串至少包含兩個 1。
因此,如果輸入類似於 s = "100001000010000",則輸出將為 True,因為 1 之間的距離為 4。
為了解決這個問題,我們將遵循以下步驟:
- index := 一個新的列表
- 對於 i 從 0 到 s 的大小,執行:
- 如果 s[i] 等於 1,則:
- 將 i 插入到 index 的末尾
- 如果 s[i] 等於 1,則:
- t := index 的大小
- 對於 i 從 1 到 t - 1,執行:
- 如果 (index[i] - index[i - 1]) 不等於 (index[1] - index[0]),則:
- 返回 False
- 如果 (index[i] - index[i - 1]) 不等於 (index[1] - index[0]),則:
- 返回 True
讓我們看下面的實現來更好地理解:
示例
def solve(s): index = [] for i in range(len(s)): if s[i] == '1': index.append(i) t = len(index) for i in range(1, t): if (index[i] - index[i - 1]) != (index[1] - index[0]): return False return True s = "100001000010000" print(solve(s))
輸入
"100001000010000"
輸出
True
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP