題意:編寫乙個函式,輸入是乙個無符號整數,返回其二進位制表示式中數字位數為 『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...