Menu
CoddyTech

Counting Bits

Du erhältst eine ganze Zahl n, die mindestens 0 ist. Zähle für jede Zahl i von 0 bis n, wie viele Einsen vorkommen, wenn i binär dargestellt wird. Gib die Anzahlen als Array mit n+1 Einträgen zurück, wobei Eintrag i die Anzahl für die Zahl i enthält.

Funktion

countBits(n: integer) → integer-array
ninteger
die letzte zu zählende Zahl, 0 oder mehr
Gibt zurückinteger-array
ein Array aus 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. Das bedeutet keine Einsen, dann eine, dann eine.

lock icon+15 versteckte Tests beim Einreichen

challenge icon

Weiterführende Frage

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

Code zurücksetzen
def countBits(n):
    # Schreibe hier Code
Testfälle

Fall 1

Fall 2

Eingabe

n = 2

Erwartet

[0, 1, 1]