Сложность: easy
Дано целое число n, верните true, если оно является степенью двойки. В противном случае верните false.
Целое число n является степенью двойки, если существует целое число x, такое что n == 2^x.
Пример:
Input: n = 1
Output: true
Explanation: 2^0 = 1
👨💻 Алгоритм:
1⃣Проверка на ноль: Если n равно нулю, верните false, так как ноль не является степенью двойки.
2⃣Преобразование к длинному типу: Преобразуйте n к типу long, чтобы избежать переполнения при выполнении побитовых операций.
3⃣Побитовая проверка: Используйте побитовую операцию, чтобы проверить, является ли число степенью двойки. Число является степенью двойки, если результат выражения (x & (-x)) равен x.
😎 Решение:
class Solution {
isPowerOfTwo(n) {
if (n === 0) return false
let x = BigInt(n)
return (x & -x) === x
}
}Ставь 👍 и забирай 📚 Базу знаний