Menu
CoddyTech

Counting Bits

Se te da un número entero n que es 0 o mayor. Para cada número i de 0 a n, cuenta cuántos unos aparecen cuando i se escribe en binario. Devuelve los recuentos como un array de n+1 elementos, donde el elemento i es el recuento para el número i.

Función

countBits(n: integer) → integer-array
ninteger
el último número que se va a contar, 0 o más
Devuelveinteger-array
un arreglo de n+1 recuentos, donde la entrada i es el número de bits 1 en i

Restricciones

  • 0 ≤ n ≤ 2 × 104

Ejemplos

Entrada
n = 2
Salida
[0, 1, 1]
Explicación
En binario, 0 es 0, 1 es 1 y 2 es 10. Eso es ningún 1, después uno, después uno.

lock icon+15 pruebas ocultas al enviar

challenge icon

Para ir más allá

¿Puedes llenar todo el arreglo en tiempo O(n), sin una función integrada que cuente los bits y sin contar cada número desde cero?

Restablecer código
def countBits(n):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Entrada

n = 2

Esperado

[0, 1, 1]