Counting Bits LeetCode solution in Java
1class Solution {23public void count(int n, int[] a, int k) {4int i;5for (i = k; i < k * 2 && i <= n; i++) a[i] = a[i - k] + 1;6if (i == n + 1) return;7count(n, a, k * 2);8}910public int[] countBits(int n) {11int a[] = new int[n + 1];12a[0] = 0;13count(n, a, 1);14return a;15}16}