Menu
CoddyTech

Counting Bits

Você recebe um número inteiro n que é 0 ou maior. Para cada número i de 0 a n, conte quantos 1s aparecem quando i é escrito em binário. Retorne as contagens como um array com n+1 entradas, em que a entrada i é a contagem para o número i.

Função

countBits(n: integer) → integer-array
ninteger
o último número a contar, 0 ou mais
Retornainteger-array
um array de n+1 contagens, em que a entrada i é o número de bits 1 em i

Restrições

  • 0 ≤ n ≤ 2 × 104

Exemplos

Entrada
n = 2
Saída
[0, 1, 1]
Explicação
No sistema binário, 0 é 0, 1 é 1 e 2 é 10. Isso significa nenhum 1, depois um, depois um.

lock icon+15 testes ocultos ao enviar

challenge icon

Para ir além

Você consegue preencher todo o array em tempo O(n), sem uma função integrada que conte bits e sem contar cada número do zero?

Redefinir código
def countBits(n):
    # Escreva o código aqui
Casos de teste

Caso 1

Caso 2

Entrada

n = 2

Esperado

[0, 1, 1]