使用Python檢查二進位制字串是否最多隻有一個連續的1段


假設我們有一個二進位制字串s(沒有前導零),我們需要檢查s是否包含最多一個連續的1段。

因此,如果輸入類似於s = "11100",則輸出將為True,因為只有一個連續的1段"111"。

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

  • count := -1

  • 如果s的長度為1,則

    • 返回True

  • 對於s中的每個i:

    • 如果i等於"1"並且count > -1,則

      • 返回False

    • 否則,如果i等於"0",則

      • count := count + 1

  • 返回True

讓我們看看下面的實現來更好地理解:

示例

線上演示

def solve(s):
   count = -1
   if len(s)==1:
      return True
   for i in s:
         if i=="1" and count>-1:
            return False
         elif i=="0":
            count+=1
   return True
s = "11100"
print(solve(s))

輸入

11100

輸出

True

更新於:2021年5月29日

442 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.