Algorithmen und Datenstrukturen · Senior · Frage 48 von 75
Welche Komplexität hat die Prüfung, ob eine Zahl eine Zweierpotenz ist, mit n > 0 && (n & (n - 1)) === 0?
- 1O(1)
- 2O(log n)
- 3O(n)
Antwort zeigen
Richtige Antwort: O(1)
Erklärung
Es ist eine einzige bitweise Operation auf einer ganzen Zahl fester Breite. In JavaScript arbeiten bitweise Operatoren auf 32-Bit-Integern, für Werte über 2³¹ braucht man also einen anderen Ansatz, etwa Number.isInteger(Math.log2(n)) oder BigInt.