Menu
CoddyTech

Counting Bits

Cho số nguyên không âm n, hãy trả về một mảng gồm n+1 phần tử, trong đó phần tử i là số lượng chữ số 1 trong biểu diễn nhị phân của i, với mọi i từ 0 đến n.

Hàm

countBits(n: integer) → integer-array
ninteger
số cuối cùng cần đếm, từ 0 trở lên
Trả vềinteger-array
một mảng gồm n+1 số đếm, trong đó phần tử i là số bit 1 trong i

Ràng buộc

  • 0 ≤ n ≤ 2 × 104

Ví dụ

Đầu vào
n = 2
Đầu ra
[0, 1, 1]
Giải thích
Trong hệ nhị phân, 0 là 0, 1 là 1 và 2 là 10: không có số 1, rồi đến một số 1, rồi cũng là một số 1.
challenge icon

Câu hỏi mở rộng

Bạn có thể điền đầy đủ mảng trong thời gian O(n), không dùng hàm có sẵn để đếm bit và không đếm lại từng số từ đầu không?

Đặt lại code
def countBits(n):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Đối số

n = 2

Đầu ra mong đợi

[0, 1, 1]