要求

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


思路

所有数字只有两类:奇数和偶数
奇数:在二进制中,奇数一定比前面的偶数多个1,因为多的就是最低为补的1

举例:
0 = 0 —> 1 = 1
2 = 10 —> 3 = 11

偶数:二进制中,偶数中1的个数一定和除以2之后的那个数一样多,因为最低为是0,相当于进一位(右移一位)末尾补0,但1的个数是不变的;

举例:
2 = 10 —> 4 = 100 —> 8 = 1000
3 = 11 —> 6 = 110 —> 12 = 1100

public class LeetCode338 {public int[] countBits(int n) {if (n == 0){return new int[]{0};}int[] dp = new int[n + 1];dp[0] = 0;for (int i = 1; i <= n; i++) {//偶数,则补0if (i % 2 == 0){dp[i] = dp[i/2];}else {dp[i] = dp[i - 1] + 1;}}return dp;}
}

可能认为这道题简单,但也是读懂题目能分析出来的情况,否则也是多次遍历

LeetCode338:比特位计数相关推荐

  1. Leetcode338. 比特位计数

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

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

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

  3. leetcode338 比特位计数

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

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

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

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

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

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

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

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

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

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

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

  9. 比特位计数—leetcode338

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

最新文章

  1. java 之 面向对象
  2. PHP中类和文件的代码注释规范
  3. boost::core模块实现交换std::bitset
  4. c++实现时间轴,时间管理器
  5. sqlserver55555_sqlserver把小数点后面多余的0去掉
  6. 重构,体现一个工程师的基本素养和底蕴(细节篇)
  7. 移动路线(信息学奥赛一本通-T1194)
  8. ASP.NET AJAX入门系列
  9. 第三方服务-极光推送
  10. 富文本功能实现vue3.0
  11. linux 路由表(转)
  12. Echarts美国地图
  13. 解决nginx设置反向代理后,css|js|gif|jpg|jpeg|png|bmp|swf等静态资源无法加载
  14. 太平洋电脑城 GHOST XP SP3 快速装机版 V9.8
  15. WIN10 修改用户下文件夹的名称
  16. 数据防泄漏 | 禁止PrintScreen键
  17. ChatGPT如何注册使用(解决国外手机号验证码问题)
  18. 图片加水印的简单方法
  19. PGP生成秘钥对及应用
  20. 微服务 分布式配置中心Apollo详解

热门文章

  1. 2021-2027全球与中国实验室通风系统市场现状及未来发展趋势
  2. 如何将li的前面那个圆点去掉
  3. “没有买卖就没有伤害,要严查个人信息倒卖”
  4. 年轻人不打工,该怎么创业?
  5. java 怎么做卷积运算,入门教程之算法系列(二):卷积运算与模糊操作
  6. 笔记本配置两个网络同时上外网和内网
  7. c语言超市选址问题实验报告,数据结构课程设计-超市选址问题.doc
  8. Spring 基于PropertyDescriptor扩展剖析
  9. [原创]C# 操作Excel的类
  10. Pyp 替代sed,awk的文本处理工具