Menu
CoddyTech

Counting Bits

Gegeben eine ganze Zahl n, die 0 oder größer ist, gib ein Array mit n+1 Einträgen zurück, wobei der Eintrag i für jedes i von 0 bis n die Anzahl der Einsen in der Binärdarstellung von i angibt.

Funktion

countBits(n: integer) → integer-array
ninteger
die letzte zu zählende Zahl, 0 oder mehr
Gibt zurückinteger-array
ein Array mit n+1 Zählwerten, wobei der Eintrag i die Anzahl der 1-Bits in i angibt

Einschränkungen

  • 0 ≤ n ≤ 2 × 104

Beispiele

Eingabe
n = 2
Ausgabe
[0, 1, 1]
Erklärung
Im Binärsystem ist 0 0, 1 ist 1 und 2 ist 10: keine Einsen, dann eine, dann eine.
challenge icon

Weiterführende Frage

Kannst du das ganze Array in O(n)-Zeit füllen, ohne eine eingebaute Funktion zum Zählen von Bits zu verwenden und ohne jede Zahl von Grund auf neu zu zählen?

Code zurücksetzen
def countBits(n):
    # Schreibe hier den Code

Test #1

Test #2

Argument

n = 2

Erwartete Ausgabe

[0, 1, 1]