717.1ビットと2ビット文字(Python)
837 ワード
タイトル
難易度:★☆☆☆タイプ:配列
特殊文字は2種類あります.第1の文字は、1ビット0で表すことができる.2番目の文字は、2ビット(10または11)で表すことができる.
いくつかのビットからなる文字列を与えます.最後の文字が必ず1ビットの文字であるかどうかを尋ねます.指定された文字列は常に0で終了します.
注意1<=len(bits)<=1000.bits[i]は常に0または1である.
例
例1入力:bits=[1,0,0]出力:True解釈:唯一の符号化方式は1つの2ビット文字と1つの1ビット文字である.最後の文字は1ビット文字です
例2入力:bits=[1,1,1,0]出力:False解釈:一意の符号化方式は2ビット文字と2ビット文字である.最後の文字は1ビット文字ではありません
に答える
この問題は理解する必要がある.
配列に1がある場合、1とその後の数字は第2のビットで表さなければならず、配列中のゼロについては第1のビットで表すことができる.
質問やアドバイスがあれば、コメントエリアへようこそ~
難易度:★☆☆☆タイプ:配列
特殊文字は2種類あります.第1の文字は、1ビット0で表すことができる.2番目の文字は、2ビット(10または11)で表すことができる.
いくつかのビットからなる文字列を与えます.最後の文字が必ず1ビットの文字であるかどうかを尋ねます.指定された文字列は常に0で終了します.
注意1<=len(bits)<=1000.bits[i]は常に0または1である.
例
例1入力:bits=[1,0,0]出力:True解釈:唯一の符号化方式は1つの2ビット文字と1つの1ビット文字である.最後の文字は1ビット文字です
例2入力:bits=[1,1,1,0]出力:False解釈:一意の符号化方式は2ビット文字と2ビット文字である.最後の文字は1ビット文字ではありません
に答える
この問題は理解する必要がある.
配列に1がある場合、1とその後の数字は第2のビットで表さなければならず、配列中のゼロについては第1のビットで表すことができる.
class Solution:
def isOneBitCharacter(self, bits):
p = 0
while p < len(bits) - 2: # ,
if bits[p] == 0:
p += 1 # 0 1
else:
p += 2 # 1 2
return bits[p] == 0
質問やアドバイスがあれば、コメントエリアへようこそ~