[LeetCode] Counting Bits
来源:互联网 发布:mysql tmp 目录在哪 编辑:程序博客网 时间:2024/06/02 00:57
Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num calculate the number of 1's in their binary representation and return them as an array.
Example:
For num = 5
you should return [0,1,1,2,1,2]
.
Follow up:
- It is very easy to come up with a solution with run time O(n*sizeof(integer)). But can you do it in linear time O(n) /possibly in a single pass?
- Space complexity should be O(n).
- Can you do it like a boss? Do it without using any builtin function like __builtin_popcount in c++ or in any other language.
public class Solution { public int[] countBits(int num) { int[] dp=new int[num+1]; for(int i=0;i<=num;i++){ dp[i]=get1s(i); } return dp; } public int get1s(int num){ int re=0; for(int i=1;i!=0;i<<=1){ if((i&num)>0) re++; } return re; }}
public class Solution2 {public int[] countBits(int num) {int[] dp=new int[num+1];dp[0]=0;for(int i=1;i<=num;i++){dp[i]=dp[i&i-1]+1;//这个技巧在位运算中特别常见 包括在树状数组的实现代码中}return dp;} }
阅读全文
1 0
- leetcode:bits:Counting Bits(338)
- [leetcode] 338. Counting Bits
- 【LeetCode-338】Counting Bits
- leetcode-338-Counting Bits
- leetcode:Counting Bits
- [C]LeetCode:Counting Bits
- LeetCode Counting Bits
- leetcode 338. Counting Bits
- leetcode Counting Bits
- [LeetCode]338. Counting Bits
- LeetCode#338. Counting Bits
- Leetcode 338 Counting Bits
- [LeetCode] 338. Counting Bits
- LeetCode之Counting Bits
- LeetCode 338. Counting Bits
- LeetCode 338 :Counting Bits
- leetcode--Counting Bits
- [leetcode-338]Counting Bits
- 面试准备
- Android中WebView的缓存
- SURF特征提取算法原文翻译与理解(下)
- php为什么是弱语言?
- CentOS 6.5 版本下 Tomcat 7 的安装
- [LeetCode] Counting Bits
- java设计模式--单例模式
- CSS3动画和VUE动画整理
- c# 连接本地部署的MySQL一直报错
- 3811-->>离散题目17
- Unity小知识点
- js 分享到效果
- 程序员面试金典编程题1
- 前端性能优化之--DNS预处理