Leetcode 191.位1的個數 By Python
阿新 • • 發佈:2018-09-24
ron weight 一個 count 二進制表示 lee () .com aid
編寫一個函數,輸入是一個無符號整數,返回其二進制表達式中數字位數為 ‘1’ 的個數(也被稱為漢明重量)。
示例 :
輸入: 11
輸出: 3
解釋: 整數 11 的二進制表示為 00000000000000000000000000001011
示例 2:
輸入: 128
輸出: 1
解釋: 整數 128 的二進制表示為 00000000000000000000000010000000
思路
用位操作即可,只有1&1才為1
代碼
class Solution(object): def hammingWeight(self, n): """ :type n: int :rtype: int """ ans = 0 while n!=0: if n&1: ans += 1 n >>= 1 return ans
另解
python內置bin()函數可以將一個數轉換為2進制,然後count即可
bin_n = bin(n)
return bin_n[2:].count('1') #開頭是0b,所以從2開始
Leetcode 191.位1的個數 By Python