位1的个数

问题描述(来源于LeetCode)

给定一个正整数 n,编写一个函数,获取一个正整数的二进制形式并返回其二进制表达式中 设置位 的个数(也被称为汉明重量)。

代码实现

1
2
3
4
5
6
7
8
9
class Solution:
def hammingWeight(self, n: int) -> int:
x= ''
while n:
a = n % 2
n =n // 2
x=str(a)+x
num= x.count('1')
return num

复杂度分析

  • 时间复杂度O(log(n))O(log(n))
  • 空间复杂度O(1)O(1)