問題描述:
編寫乙個函式,輸入是乙個無符號整數,返回其二進位制表示式中數字位數為 『1』 的個數(也被稱為漢明重量)。
示例 :
輸入:11輸出:3解釋:整數 11 的二進位制表示為00000000000000000000000000001011
示例 2:
輸入:128輸出:1解釋:整數 128 的二進位制表示為00000000000000000000000010000000方法1:
1class
solution(object):
2def
hammingweight(self, n):
3"""
4:type n: int
5:rtype: int
6"""
7 str_b =str(bin(n))
8return str_b.count('
1')
直接可以
return bin(n).count('1')
官方:
1class
solution(object):
2def
hammingweight(self, n):
3"""
4:type n: int
5:rtype: int
6"""
7 new_n = bin(n)[2:].zfill(31)
8 new_n =list(new_n)
9return new_n.count('
1')
在這裡只是提一下zfill函式
python zfill() 方法返回指定長度的字串,原字串右對齊,前面填充0。
zfill()方法語法:
str.zfill(width)返回指定長度的字串。
以下例項展示了 zfill()函式的使用方法:
#!/usr/bin/pythonstr ="this is string example....wow!!!";printstr.zfill(40);printstr.zfill(50);以上例項輸出結果如下:
00000000thisisstringexample....wow!!!000000000000000000thisisstringexample....wow!!!2018-09-16 09:17:03
Leetcode191 位1的個數
題目 編寫乙個函式,輸入是乙個無符號整數,返回其二進位制表示式中數字位數為 1 的個數 也被稱為漢明重量 輸入 11111111111111111111111111111101 輸出 31 解釋 輸入的二進位制串 11111111111111111111111111111101 中,共有 31 位為...
LeetCode 191 位1的個數
題意 編寫乙個函式,輸入是乙個無符號整數,返回其二進位制表示式中數字位數為 1 的個數 也被稱為漢明重量 lowbit n 定義為非負整數 n nn 在二進位制表示下最低位的 1 11 及其後邊所有的 0 00 構成的數值。方法一 n n 1 作用 將 n nn 的二進位制表示中最低位的 1 11 ...
LeetCode191 位1的個數
編寫乙個函式,輸入是乙個無符號整數,返回其二進位制表示式中數字位數為 1 的個數 也被稱為漢明重量 輸入 00000000000000000000000000001011 輸出 3 解釋 輸入的二進位制串 00000000000000000000000000001011 中,共有三位為 1 輸入 0...