编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量)。

示例

输入:00000000000000000000000000001011

输出:3

解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 '1'。

解析

当字符串处理简单到让人觉得,出题的和做题的至少有一个人有毛病,但没想到,效果异常的好。

代码示例

class Solution:
    def hammingWeight(self, n: int) -> int:
        ans = 0
        for s in str(bin(n))[2:]:
            ans += int(s)
        return ans

执行用时:28 ms, 在所有 Python3 提交中击败了 97.84% 的用户.

本文为 陈华 原创,欢迎转载,但请注明出处:http://www.ichenhua.cn/read/406