338. Counting Bits
Tags:
Easy
Skills:
Bitwise
June 24, 2025
04:32 AM
No headings found
Loading content...
Related Posts
Leetcode
No headings found
Related Posts
Leetcode
Problem
Bài toán yêu cầu: Với một số nguyên không âm n , hãy trả về một mảng ans có độ dài n + 1, trong đó ans[i] là số lượng bit 1 trong biểu diễn nhị phân của i (với 0 ≤ i ≤ n)
Phân tích và ý tưởng
Có nhiều cách giải tối ưu nhất là sử dụng DP kết hợp với thao tác bit:

Solution
1function countBits(n: number): number[] {
2 const ans: number[] = Array(n + 1).fill(0);
3 for (let i = 1; i <= n; i++) {
4 ans[i] = ans[i >> 1] + (i & 1);
5 }
6 return ans;
7};