Menu
CoddyTech

Counting Bits

Ricevi un numero intero n maggiore o uguale a 0. Per ogni numero i da 0 a n, conta quanti 1 compaiono quando i è scritto in binario. Restituisci i conteggi come un array di n+1 elementi, dove l’elemento i è il conteggio per il numero i.

Funzione

countBits(n: integer) → integer-array
ninteger
l'ultimo numero da contare, 0 o più
Restituisceinteger-array
un array di n+1 conteggi, dove la voce i è il numero di bit 1 in i

Vincoli

  • 0 ≤ n ≤ 2 × 104

Esempi

Input
n = 2
Output
[0, 1, 1]
Spiegazione
In binario, 0 è 0, 1 è 1 e 2 è 10. Ovvero nessun 1, poi uno, poi uno.

lock icon+15 test nascosti all’invio

challenge icon

Per approfondire

Riesci a riempire l'intero array in tempo O(n), senza una funzione integrata che conta i bit e senza contare da zero ogni numero?

Ripristina il codice
def countBits(n):
    # Scrivi il codice qui
Casi di test

Caso 1

Caso 2

Input

n = 2

Atteso

[0, 1, 1]