Menu
CoddyTech

Number of 1 Bits

Du erhältst eine nichtnegative ganze Zahl n. Schreibe n in Binärdarstellung und gib zurück, wie viele seiner Ziffern 1 sind. Diese Anzahl wird auch Anzahl der gesetzten Bits, Popcount oder Hamming-Gewicht genannt. Zum Beispiel ist 6 in Binärdarstellung 110, also hat es zwei 1-Bits.

Funktion

hammingWeight(n: integer) → integer
ninteger
eine nichtnegative Ganzzahl, die in einen vorzeichenbehafteten 32-Bit-Integer passt
Gibt zurückinteger
Anzahl der 1-Ziffern in der Binärdarstellung von n

Einschränkungen

  • 0 ≤ n ≤ 231-1

Beispiele

Eingabe
n = 11
Ausgabe
3
Erklärung
11 ist 1011 im Binärsystem, also 8 + 2 + 1. Drei seiner vier Binärziffern sind 1, daher ist die Antwort 3.
challenge icon

Weiterführende Frage

Wenn diese Funktion millionenfach ausgeführt würde, wie könntest du die Bits einer 32-Bit-Zahl mit vier Nachschlägen in einer Tabelle mit 256 vorberechneten Anzahlen zählen?

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

Test #1

Test #2

Test #3

Argument

n = 11

Erwartete Ausgabe

3