Python 中的 1 位和 2 位字元


假設我們有兩個特殊字元。第一個字元可以用一個位元 0 來表示。第二個字元可以用兩個位元(10 或 11)來表示。因此,如果我們有一個由多個位元表示的字串。我們必須檢查最後一個字元是否必須是一個位元字元。給定的字串總是以零結尾。

因此,如果輸入為 [1,0,0],則輸出為 True,因為解碼它的唯一方法是兩位元字元 (10) 和一個位元字元 (0)。所以,最後一個字元是一個位元字元。

要解決這個問題,我們將遵循以下步驟 -

  • 當位元的長度 > 1 時,執行
  • current := 位元串中的第一個元素,然後從位元串中刪除第一個元素
  • 如果 current 與 1 相同,則
    • 從位元串中刪除第一個元素
  • 如果位元串的長度等於 0,則
    • 返回 False
  • 當 bits[0] 等於 0 時返回 true,否則返回 false

讓我們看看以下實現,以獲得更好的理解 -

示例

 即時演示

class Solution:
   def isOneBitCharacter(self, bits):
      while len(bits) > 1:
         current = bits.pop(0)
         if current == 1:
            bits.pop(0)
      if len(bits) == 0:
         return False
      return bits[0] == 0
ob = Solution()
print(ob.isOneBitCharacter([1,0,0]))

輸入

[1,0,0]

輸出

True

更新日期:2020 年 7 月 4 日

473 次瀏覽

開啟您的職業

完成課程即可獲得認證

開始
廣告
© . All rights reserved.