LeetCode338:比特位计数
要求
给你一个整数 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:比特位计数相关推荐
- Leetcode338. 比特位计数
Leetcode338. 比特位计数 题目: 给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans ...
- leetcode--338. 比特位计数
给定一个非负整数 num.对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回. 示例 1: 输入: 2 输出: [0,1,1] 示例 2: 输入: ...
- leetcode338 比特位计数
给定一个非负整数 num.对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回. 示例 1: 输入: 2 输出: [0,1,1] 示例 2: 输入: ...
- (动态规划)leetcode338:比特位计数
题目 给定一个非负整数 num.对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回. 示例 1: 输入: 2 输出: [0,1,1] 示例 2: ...
- 《LeetCode力扣练习》第338题 比特位计数 Java
<LeetCode力扣练习>第338题 比特位计数 Java 一.资源 题目: 给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ...
- LeetCode每日一题:比特位计数(No.338)
题目:比特位计数 给定一个非负整数 num.对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回. 复制代码 示例: 输入: 2 输出: [0,1, ...
- 比特位计数--C++ bitset 用法
比特位计数 前言 一.示例 二.代码解析 1.比特位计数 2.测试代码 3.结果 三.C++ bitset 用法 1.构造函数 2.一些函数 3.结果 总结 前言 给定一个非负整数 num.对于 0 ...
- (LeetCode C++)比特位计数
给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案. 示例 1: 输入:n = 2 输 ...
- 比特位计数—leetcode338
给定一个非负整数 num.对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回. 示例 1: 输入: 2 输出: [0,1,1] 示例 2: 输入: ...
最新文章
- java 之 面向对象
- PHP中类和文件的代码注释规范
- boost::core模块实现交换std::bitset
- c++实现时间轴,时间管理器
- sqlserver55555_sqlserver把小数点后面多余的0去掉
- 重构,体现一个工程师的基本素养和底蕴(细节篇)
- 移动路线(信息学奥赛一本通-T1194)
- ASP.NET AJAX入门系列
- 第三方服务-极光推送
- 富文本功能实现vue3.0
- linux 路由表(转)
- Echarts美国地图
- 解决nginx设置反向代理后,css|js|gif|jpg|jpeg|png|bmp|swf等静态资源无法加载
- 太平洋电脑城 GHOST XP SP3 快速装机版 V9.8
- WIN10 修改用户下文件夹的名称
- 数据防泄漏 | 禁止PrintScreen键
- ChatGPT如何注册使用(解决国外手机号验证码问题)
- 图片加水印的简单方法
- PGP生成秘钥对及应用
- 微服务 分布式配置中心Apollo详解