Power of Two
https://leetcode.com/problems/power-of-two | Easy |
Условие
Дано целое число n, верните true, если n является степенью двойки. В противном случае верните false.
Примеры
Input:
n = 1Output:
trueExplanation:
2^0 = 1.
Input:
n = 16Output:
trueExplanation:
2^4 = 16.
Input:
n = 3Output:
false
Решение
fun isPowerOfTwo(n: Int): Boolean {
// Если n меньше или равно 0, оно не может быть степенью двойки
if (n <= 0) return false
// Проверяем, является ли n степенью двойки, используя битовые операции
return (n and (n - 1)) == 0
}
Временная сложность
O(1), так как мы выполняем фиксированное количество операций.
Пространственная сложность
O(1), так как используем только несколько переменных.