LeetCode338. Counting Bits(位运算+DP)
来源:互联网 发布:adobe官网软件下载 编辑:程序博客网 时间:2024/05/16 11:01
题目链接
题意:输入num,给出[0, num]中每个数字二进制中1的个数,返回vector。
O(n)方法,可以写出两种状态转移方程(也许更多)。
- i中1的个数比i&(i-1)中多一个。
class Solution {public: vector<int> countBits(int num) { vector<int> ans; ans.push_back(0); for(int i = 1; i <= num; i++){ ans.push_back(ans[i&(i-1)] + 1); } return ans; }};
- i中1的个数(除了最低位)与i>>1相等(注意&和+的优先级)。
class Solution {public: vector<int> countBits(int num) { vector<int> ans; ans.push_back(0); for(int i = 1; i <= num; i++){ ans.push_back(ans[i>>1] + (i&1)); } return ans; }};
0 0
- LeetCode338. Counting Bits(位运算+DP)
- leetcode338:Counting Bits(medium)
- Leetcode 338 - Counting Bits(dp + 位运算)
- leetcode338.Counting Bits
- leetcode338 Counting Bits
- LeetCode338. Counting Bits
- LeetCode338. Counting Bits
- [LeetCode338]Counting Bits
- Leetcode338. Counting Bits
- leetcode338 Counting Bits Java
- LeetCode338. Counting Bits题解
- 11.leetCode338: Counting Bits
- python--leetcode338. Counting Bits
- LeetCode 338 Counting Bits(位运算)
- 338. Counting Bits--位运算
- leetcode 338 : Counting Bits :找规律&位运算
- Counting Bits(统计比特位)
- LeetCode oj 338. Counting Bits(DP)
- ElsaticSearch 2.3 Dockerfile 解析
- Web工程和编译结果的结构对应关系
- 大数据学习笔记之七 云计算平台的关键技术
- openstack-入门学习2
- iOS 截屏方法
- LeetCode338. Counting Bits(位运算+DP)
- 数据解决方案:原力大数据教你如何撰写数据分析报告
- MVC进阶篇(一)——概览
- LensFlare Studio 5.8 for Mac 苹果版 简体中文 汉化版 超赞的光效处理软件
- 查看相册
- UML之类图分析
- LeetCode75. Sort Colors
- Spring MVC 自学杂记(一)
- LeetCode2. Add Two Numbers