檢查是否可以使用 Python 將二進位制字串重新排列成交替的 0 和 1
假設我們有一個長度為 2 或以上的二進位制字串 s。我們必須檢查是否可以重新排列 s,使得 0 和 1 交替出現。
因此,如果輸入類似於 s = "1000111",則輸出將為 True,因為我們可以從 s 中形成 "1010101"。
為了解決這個問題,我們將遵循以下步驟:
- one_count := 二進位制字串 s 中 1 的數量
- zero_count := 二進位制字串 s 中 0 的數量
- 如果 s 的大小為偶數,則
- 當 one_count 等於 zero_count 時返回 true,否則返回 false
- 當 |one_count - zero_count| 等於 1 時返回 true,否則返回 false
示例
讓我們看看下面的實現以獲得更好的理解:
def solve(s):
one_count = s.count('1')
zero_count = s.count('0')
if len(s) % 2 == 0 :
return (one_count == zero_count)
return abs(one_count - zero_count) == 1
s = "1000111"
print(solve(s))輸入
"1000111"
輸出
True
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP