编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '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://ichenhua.cn/read/406