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

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

  1. 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

  2. Pythonのインタプリタ基本クラス

    Pythonのインタラクティブモードは、REPL(読み取り-評価-印刷-ループ)の原則に基づいて機能します。 Pythonの標準ライブラリのコードモジュールは、Pythonスクリプト内からREPL環境をセットアップするためのクラスと便利な関数を提供します。 コードモジュールでは、次の2つのクラスが定義されています。 InteractiveInterpreter: このクラスは、解析とインタプリタの状態(ユーザーの名前空間)を処理します InteractiveConsole: インタラクティブなPythonインタープリターの動作を厳密にエミュレートします。 モジュールの2つの便利な機