leetcode-338. Counting Bits
来源:互联网 发布:淘宝网太阳镜 编辑:程序博客网 时间:2024/06/05 11:58
考察点:dp,bit运算&;
思路:重点是理解i&(i-1)是将数字 i 的二进制格式下最右边的1转换成0;dp[i]的含义是数字i的1bit数目,因此dp[i] = dp[i&(i-1)] + 1;就好理解了。
C++代码:
class Solution {public: vector<int> countBits(int num) { vector<int> ret(num+1, 0); for (int i=1; i<=num; i++) { ret[i] = ret[i&(i-1)] + 1; } return ret; }};
0 0
- [leetcode] 338. Counting Bits
- leetcode 338. Counting Bits
- [LeetCode]338. Counting Bits
- LeetCode#338. Counting Bits
- [LeetCode] 338. Counting Bits
- LeetCode 338. Counting Bits
- [LeetCode]338. Counting Bits
- LeetCode-338. Counting Bits
- LeetCode *** 338. Counting Bits
- (leetcode) 338. Counting Bits
- #leetcode#338. Counting Bits
- LeetCode 338. Counting Bits
- leetcode 338. Counting Bits
- LeetCode-338. Counting Bits
- LeetCode-338. Counting Bits
- leetcode-338. Counting Bits
- Leetcode 338. Counting Bits
- LeetCode 338. Counting Bits
- 利用spring提供的线程池发送邮件
- Python中os.mkdir()与os.makedirs()的区别及用法
- Educational Codeforces Round 19 E. Array Queries(分块)
- 完数
- RingtoneManager获取铃声uri返回空值的问题
- leetcode-338. Counting Bits
- Linux中环境变量文件及配置
- 51nod_1136 欧拉函数
- 如何给caffe添加新的层
- AMAZING AUCTION
- C/C++中 变量的存储位置
- spring4学习记录04-spring mvc实战之框架构建引入jpa
- java学习 十六、内部类
- Boolan C++面向对象高级编程(上)第二周笔记