LeetCode 191 位1的個數

2021-10-02 07:55:34 字數 635 閱讀 1234

題意:編寫乙個函式,輸入是乙個無符號整數,返回其二進位制表示式中數字位數為 『1』 的個數(也被稱為漢明重量)。

lowbit(n) 定義為非負整數 n

nn 在二進位制表示下最低位的 1

11 及其後邊所有的 0

00 構成的數值。

方法一:

n&(n-1)作用:將 n

nn 的二進位制表示中最低位的 1

11 改為 0

00

class

solution

return cnt;}}

;

方法二:

lowbit(x) = x & -x:計算數字 x

xx 二進位制下最低位 1

11 對應的值。

class

solution

return res;}}

;

方法三:

每次只統計最低位的 1

11,統計完了右移一位,迴圈直到 0

00 為止。

class

solution

return res;}}

;

Leetcode191 位1的個數

題目 編寫乙個函式,輸入是乙個無符號整數,返回其二進位制表示式中數字位數為 1 的個數 也被稱為漢明重量 輸入 11111111111111111111111111111101 輸出 31 解釋 輸入的二進位制串 11111111111111111111111111111101 中,共有 31 位為...

LeetCode191 位1的個數

編寫乙個函式,輸入是乙個無符號整數,返回其二進位制表示式中數字位數為 1 的個數 也被稱為漢明重量 輸入 00000000000000000000000000001011 輸出 3 解釋 輸入的二進位制串 00000000000000000000000000001011 中,共有三位為 1 輸入 0...

LeetCode 191 位1的個數

問題描述 編寫乙個函式,輸入是乙個無符號整數,返回其二進位制表示式中數字位數為 1 的個數 也被稱為漢明重量 示例 輸入 11輸出 3解釋 整數 11 的二進位制表示為00000000000000000000000000001011示例 2 輸入 128輸出 1解釋 整數 128 的二進位制表示為0...