Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの1ビットおよび2ビット文字


2つの特殊文字があるとします。最初の文字は1ビット0で表すことができ、2番目の文字は(10または11)のように2ビットで表すことができます。したがって、いくつかのビットで表される文字列がある場合。最後の文字が1ビット文字である必要があるかどうかを確認する必要があります。指定された文字列は常にゼロで終わります。

したがって、入力が[1,0,0]のような場合、それをデコードする唯一の方法は2ビット文字(10)と1ビット文字(0)であるため、出力はTrueになります。したがって、最後の文字は1ビット文字です。

これを解決するには、次の手順に従います-

  • ビットのサイズが1を超える場合は、実行してください
  • current:=ビットの最初の要素、次にビットから最初の要素を削除する
  • 電流が1と同じ場合、
    • ビットから最初の要素を削除する
  • ビットのサイズが0と同じ場合、
    • Falseを返す
  • ビット[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

  1. 指定された文字列の大文字と小文字をカウントするPythonプログラム。

    特定の文字列入力について、Pythonを使用して小文字と大文字の文字数をカウントしたいと思います。たとえば、指定された文字列の場合、 "Hello World" カウントは-である必要があります Upper case: 2 Lower case: 8 これは、大文字と小文字をチェックする2つの条件を持つ単純なforループを使用して実装できます。たとえば、 例 def countUpperAndLowerCase(sentence): upper = 0 lower = 0 for i in sentence: if i >='A' and i &l

  2. =+と+=はPythonで何をしますか?

    + =演算子は、object .__ iadd __()関数のシンタックスシュガーです。 Pythonドキュメントから: これらのメソッドは、拡張された算術割り当て(+ =、-=、* =、@ =、/ =、// =、%=、** =、)を実装するために呼び出されます。 =、&=、^ =、| =)。これらのメソッドは、その場で操作を実行し(自己を変更)、結果を返すようにする必要があります(自己である可能性がありますが、そうである必要はありません)。 例 だからあなたが次のようなことをするとき- a = 5 b = 10 a += b print(a) 出力 これにより、出力が得られます- 15