Given an integer n, return an array ans of length n + 1 such that for each i (0 <= i <= n), ans[i] is the number of 1s in the binary representation of i.
Input: n = 2 Output: [0, 1, 1] Explanation: 0 -> 0 (0 ones), 1 -> 1 (1 one), 2 -> 10 (1 one).
Input: n = 5 Output: [0, 1, 1, 2, 1, 2] Explanation: 0->000 (0), 1->001 (1), 2->010 (1), 3->011 (2), 4->100 (1), 5->101 (2).
0 <= n <= 10^5O(n log n). Can you do it in linear time O(n) with a single pass?bin() or bit_count())?n = 2