https://leetcode-cn.com/problems/counting-bits/description/ 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 represent
题目描述 给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。 解析 动态规划,将当前的数的最后一位去掉,然后判断去掉的最后一位是0还是1。 public int[] countBits(int n) {int[] res = new int[n + 1];// 1101 = 11
题目描述 给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。 示例 代码思路 第一种方法 最简单的方法就是,遍历然后使用python自带的bin()方法直接转换为2进制然后用count去数数。 第二种方法 考虑到数的特点,如果该数i为偶数,那么他二进制中1的个数和他i/2的数的