Pythonの基数10整数の補完
10進数システムの数値があるとします。 2進数形式で数値の補数を取得してから、再度10進数に変更して、結果を返す必要があります。したがって、数値が20の場合、バイナリ形式は10100になり、補数は01011になり、これは10進数で11になります
。これを解決するには、次の手順に従います-
- s:=数値nの2進文字列
- sum:=0およびnum:=1
- 逆方向のsの各要素iについて
- i =‘b’の場合、合計を返します
- それ以外の場合、i =‘0’の場合、sum:=sum + num
- num:=num * 2
例
理解を深めるために、次の実装を見てみましょう-
class Solution(object): def bitwiseComplement(self, N): s = str(bin(N)) sum = 0 num = 1 for i in s[::-1]: if i == "b": return sum elif i =="0": sum+=num num*=2 ob1 = Solution() print(ob1.bitwiseComplement(20))
入力
20
出力
11
-
Pythonでのパスの合計
1つのツリーと合計があるとします。そのパスをたどると、与えられた合計と一致する合計が得られるように、1つのパスを見つける必要があります。ツリーが[0、-3,9、-10、null、5]のようで、合計が14であるとすると、パス0→9→5があります。 これを解決するために、次の手順に従います。 ルートがnullの場合は、Falseを返します 左右のサブツリーが空の場合、sum – root.val =0の場合はtrueを返し、それ以外の場合はfalseを返します 戻り値solve(root.left、sum – root.val)またはsolve(root.right、su
-
Pythonのインタプリタ基本クラス
Pythonのインタラクティブモードは、REPL(読み取り-評価-印刷-ループ)の原則に基づいて機能します。 Pythonの標準ライブラリのコードモジュールは、Pythonスクリプト内からREPL環境をセットアップするためのクラスと便利な関数を提供します。 コードモジュールでは、次の2つのクラスが定義されています。 InteractiveInterpreter: このクラスは、解析とインタプリタの状態(ユーザーの名前空間)を処理します InteractiveConsole: インタラクティブなPythonインタープリターの動作を厳密にエミュレートします。 モジュールの2つの便利な機