首页 > 试题广场 >

比特位计数

[编程题]比特位计数
  • 热度指数:120 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 ,计算其二进制数中的 1 的数目并将它们作为数组返回。
示例1

输入

2

输出

[0,1,1]
头像 诗悦网络内推_有问必答
发表于 2021-11-07 21:38:29
解题思路 每个Num的1的个数是Num div 2(即Num向右移动1位的结果)的1的个数加上Num rem 2(即与2取余后的代表奇偶数的那个1)得到的总个数 代码 -spec count_bits(N :: integer()) -> [integer()]. count_bits(N) 展开全文