338. Counting Bits
来源:互联网 发布:电影下载网站 知乎 编辑:程序博客网 时间:2024/05/29 12:10
题目描述:给定一个整数n,计算0到n每个数的二进制表示中1的个数
解题思路:可以使用动态规划。一个整数可以看做离它最近的二次幂加上另一个数
重点:2次幂为0,1为1,以此类推
public class Solution { public int[] CountBits(int num) { int[] bits = new int[num + 1]; bits[0] = 0; if (num == 0) return bits; bits[1] = 1; if (num == 1) return bits; for (int i = 2; i <= num; i++) { int m = (int)Math.Log(i, 2); int closeM = (int)Math.Pow(2, m); if (closeM == i) bits[i] = 1; else { bits[i] = bits[closeM] + bits[i - closeM]; } } return bits; }}
0 0
- [leetcode] 338. Counting Bits
- 338. Counting Bits
- leetcode 338. Counting Bits
- LeetCodeOJ:338. Counting Bits
- [LeetCode]338. Counting Bits
- LeetCode#338. Counting Bits
- 338. Counting Bits
- [LeetCode] 338. Counting Bits
- LeetCode 338. Counting Bits
- 338. Counting Bits
- [LeetCode]338. Counting Bits
- LeetCode-338. Counting Bits
- LeetCode *** 338. Counting Bits
- 338. Counting Bits
- (leetcode) 338. Counting Bits
- Swift 338. Counting Bits
- #leetcode#338. Counting Bits
- LeetCode 338. Counting Bits
- <html>消息状态
- eclipse的快捷键
- Matrix详解_Matrix怎么用
- f:\rtm\vctools\vc7libs\ship\atlmfc\src\mfc\occcont.cpp(Line:950)错误
- JavaIo——运用RandomAccessFile实现文件的多线程下载
- 338. Counting Bits
- vim设置tab
- iOS入门之自定义tabBar及导航控制器浅谈
- pyinotify简单实用(用于文件系统监控)
- 剑指offer题解【替换空格】-java
- Tornado写简易服务器,转自ACdreamer
- MyBatis之自动生成实体类及映射文件《二》
- (英文)关于Unity3d c#和.a\.o\.so等native库文件的交互,库文件可以由c\c++\object-c等编译
- viewpager加小圆点