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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言
C++
C#
MongoDB
MySQL
Javascript
PHP