给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。

示例 1:

输入: 2
输出: [0,1,1]
示例 2:

输入: 5
输出: [0,1,1,2,1,2]
进阶:

给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可以在线性时间O(n)内用一趟扫描做到吗?
要求算法的空间复杂度为O(n)。
你能进一步完善解法吗?要求在C++或任何其他语言中不使用任何内置函数(如 C++ 中的 __builtin_popcount)来执行此操作。
通过次数45,509提交次数60,412

思路:见代码注释

class Solution {
public:vector<int> countBits(int num) {//如果为偶数,1的个数等于偶数/2的值中1的个数//如果为奇数,1的个数为前一个数+1vector<int> result;result.push_back(0);for(int i=1;i<=num;++i){if((i&1)==0){result.push_back(result[i/2]);}else{result.push_back(result[i-1]+1);}}return result;}
};

比特位计数—leetcode338相关推荐

  1. Leetcode338. 比特位计数

    Leetcode338. 比特位计数 题目: 给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans ...

  2. 《LeetCode力扣练习》第338题 比特位计数 Java

    <LeetCode力扣练习>第338题 比特位计数 Java 一.资源 题目: 给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ...

  3. LeetCode每日一题:比特位计数(No.338)

    题目:比特位计数 给定一个非负整数 num.对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回. 复制代码 示例: 输入: 2 输出: [0,1, ...

  4. 比特位计数--C++ bitset 用法

    比特位计数 前言 一.示例 二.代码解析 1.比特位计数 2.测试代码 3.结果 三.C++ bitset 用法 1.构造函数 2.一些函数 3.结果 总结 前言 给定一个非负整数 num.对于 0 ...

  5. (LeetCode C++)比特位计数

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

  6. LeetCode338:比特位计数

    要求 给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案. 思路 所有数字只有两类:奇 ...

  7. leetcode--338. 比特位计数

    给定一个非负整数 num.对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回. 示例 1: 输入: 2 输出: [0,1,1] 示例 2: 输入: ...

  8. leetcode338 比特位计数

    给定一个非负整数 num.对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回. 示例 1: 输入: 2 输出: [0,1,1] 示例 2: 输入: ...

  9. (动态规划)leetcode338:比特位计数

    题目 给定一个非负整数 num.对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回. 示例 1: 输入: 2 输出: [0,1,1] 示例 2: ...

最新文章

  1. 在CentOS 7.7 x86_64上安装InfluxDB 1.8.0实录
  2. Sublime Text 3 安装Package Control及配置Python环境
  3. 【ijkplayer】编译 Android 版本的 ijkplayer ② ( 切换到 k0.8.8 分支 | 执行 init-android.sh 脚本进行初始化操作 )
  4. java web 播放音频_使用Java ME以流形式播放Web服务器上的音乐文件
  5. Mysql 架构及优化之-索引优化
  6. SPASVO 软件生命周期管理 ALM V2.1 正式发布!
  7. mac版有道云笔记切换笔记后内容仍展示前一个笔记内容问题解决
  8. like语句太慢 sqlserver_SQLSERVER查询速度慢的原因收集以及优化建议
  9. 【测绘程序设计】Excel度(°)转换度分秒(° ‘ “)模板附代码超实用版
  10. 使用Pytorch实现UCF101视频分类
  11. Mac与Windows快捷键盘点
  12. 番外7. 在 Python OpenCV 寻找目标区域以及边缘扩展的解决方案
  13. mac如何挂载移动硬盘、U盘
  14. 如何在visio里将图形进行任意角度旋转
  15. 编程题涉及到的数学公式(持续更新……)
  16. 全面领跑中国DevOps云服务市场,为什么是华为云?
  17. WPA3也不安全啦?WPA3-R3 H2E了解一下
  18. MQTT C Client实现消息推送(入门指南)
  19. AR联机游戏制作过程记录(11.11)
  20. 3t服务器装linux系统如何分区,Linux 分区、格式化3T大容量存储分区

热门文章

  1. 怀卡托大学硕士计算机科学,2020年怀卡托大学研究生一般几年毕业
  2. Perfect World
  3. 【git】强制覆盖本地代码(与git远程仓库保持一致)
  4. 为什么(12)式,km不能直接相乘?而要让域k先乘一个代数A里面的单位元,再作用在群M上呢?...
  5. 安装Ubuntu 18.04后的一些操作
  6. 运行错误:Application Error - The connection to the server was unsuccessful
  7. 随手练——HDU-2037 、P-2920 时间安排(贪心)
  8. DevExpress WPF v18.2新版亮点(四)
  9. 总结一些通用的处理方法
  10. 老李分享:Android -自动化埋点 2