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