1ビットの数Leetcode



Number 1 Bits Leetcode



トピック:

符号なし整数を受け取り、それが持つ「1」ビットの数を返す関数を記述します(別名 ハミング重み )。



例1:

00000000000000000000000000001011 has a total of three '1' bits.

例2:



-3

例3:

class Solution { public: int hammingWeight(uint32_t n) { int count = 0 for (int i = 0 i >= 1 } return count } }

注意:

  • Javaなどの一部の言語では、符号なし整数型がないことに注意してください。この場合、入力は符号付き整数型として指定され、整数の内部バイナリ表現は符号付きでも符号なしでも同じであるため、実装に影響を与えることはありません。
  • Javaでは、コンパイラはを使用して符号付き整数を表します 2の補数表記 。したがって、 例3 入力の上は符号付き整数
     Input:  00000000000000000000000000001011  Output:  3  Explanation:  The input binary string |_+_| 
    を表します。

ファローアップ



この関数が何度も呼び出される場合、どのように最適化しますか?

コード:

 Input:  00000000000000000000000010000000  Output:  1  Explanation:  The input binary string  00000000000000000000000010000000  has a total of one '1' bit.