[LeetCode] 0191. 1 ビットの数

1 ビットの数

Python、C++、JavaScript、SQL、TypeScript の多様な LeetCode ソリューションを探索してください。面接の準備、学習、複数のプログラミング言語でのコードの練習に最適です。 Github リポジトリ リンク

 

符号なし整数のバイナリ表現を取得し、その整数が持つ「1」ビットの数を返す関数を作成します (符号なし整数とも呼ばれます)。 ハミングウェイト).

注記:

  • Java などの一部の言語では、符号なし整数型が存在しないことに注意してください。この場合、整数の内部バイナリ表現は同じであるため、入力は符号付き整数型として与えられます。署名されているか署名されていないかです。
  • Java では、コンパイラは次を使用して符号付き整数を表します。 2の補数表記したがって、 例 3の場合、入力は符号付き整数を表します。 -3.

 

例 1:

入力: n = 0000000000000000000000000001011
出力: 3
説明: 入力バイナリ文字列 00000000000000000000000000001011 合計 3 つの「1」ビットがあります。

例 2:

入力: n = 00000000000000000000000010000000
出力: 1
説明: 入力バイナリ文字列 00000000000000000000000010000000 合計 1 つの「1」ビットがあります。

例 3:

入力: n = 11111111111111111111111111111101
出力: 31
説明: 入力バイナリ文字列 11111111111111111111111111111101 合計 31 個の「1」ビットがあります。

 

制約:

  • 入力は次でなければなりません バイナリ文字列 長さの 32.

 

フォローアップ: この関数が何度も呼び出される場合、どのように最適化しますか?

パイソン

				
					class Solution { public: int hammingWeight(uint32_t n) { int sum = 0、mask = 1; for (int i = 0; i < 32; i++) { if ((n & Mask) != 0) sum++; >= 1; } 合計を返します。
				
			
ja日本語