victory的博客

长安一片月,万户捣衣声

0%

leetcode | 338.比特位计数

338.比特位计数

题目描述

给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。

示例 1:
输入:n = 2
输出:[0,1,1]
解释:
0 –> 0
1 –> 1
2 –> 10

题目链接

思路

我的题解

代码

class Solution(object):
    def countBits(self, n):
        """
        :type n: int
        :rtype: List[int]
        """
        # result = []
        # for i in range(0, n+1):
        #     result.append(bin(i).count('1'))
        # return result

        return [bin(i).count('1') for i in range(0, n+1)]