Алгоритми та структури даних · Senior · Запитання 48 з 75
Яка складність перевірки, чи є число степенем двійки, через n > 0 && (n & (n - 1)) === 0?
- ✓Правильна відповідь: O(1)
- 2O(log n)
- 3O(n)
Пояснення
Це одна бітова операція над цілим фіксованої ширини. У JavaScript бітові оператори працюють із 32-бітними цілими, тож для значень понад 2³¹ потрібен інший підхід, наприклад Number.isInteger(Math.log2(n)) чи BigInt.