Algorytmy i struktury danych · Senior · Pytanie 48 z 75
Jaka jest złożoność sprawdzenia, czy liczba jest potęgą dwójki, przez n > 0 && (n & (n - 1)) === 0?
- ✓Poprawna odpowiedź: O(1)
- 2O(log n)
- 3O(n)
Wyjaśnienie
To jedna operacja bitowa na liczbie o stałej szerokości. W JavaScripcie operatory bitowe działają na 32-bitowych liczbach całkowitych, więc dla wartości powyżej 2³¹ potrzebne jest inne podejście, np. Number.isInteger(Math.log2(n)) lub BigInt.