191 位1的個數

2021-10-21 10:09:59 字數 1267 閱讀 6612

題目描述

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

高階

示例 1:

輸入:00000000000000000000000000001011

輸出:3

解釋:輸入的二進位制串 00000000000000000000000000001011 中,共有三位為 '1'。

示例 2:

輸入:00000000000000000000000010000000

輸出:1

解釋:輸入的二進位制串 00000000000000000000000010000000 中,共有一位為 '1'。

示例 3:

輸入:11111111111111111111111111111101

輸出:31

解釋:輸入的二進位制串 11111111111111111111111111111101 中,共有 31 位為 '1'。

題解:法一:

依次列舉每一位二進位制,判斷是否為1

class

solution

return num;}}

;/*記憶體:5.8mb,擊敗:93.18%

*/

法二:

利用lowbit(x) = x & -x提取最右邊一位1,不停減去最右邊的1

class

solution

return num;}}

;/*記憶體:5.7mb,擊敗:97.78%

*/

法三:

利用x & (x -1)將最右邊的一位1變成0,不停消去1

class

solution

return num;}}

;/*記憶體:5.8mb,擊敗:93.89%

*/

時間複雜度:o(1

)o(1)

o(1)

額外空間複雜度:o(1

)o(1)

o(1)

191 位1的個數

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

簡單 191 位1的個數

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

Leetcode191 位1的個數

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