231. Power of Two
Văn bản bài toán được dịch từ tiếng Nga theo ngôn ngữ giao diện. Mã không thay đổi.
given số nguyên n, return true, если оно является степенью двойки. В противном случае return false.
số nguyên n является степенью двойки, если существует số nguyên x, такое что n == 2^x.
Ví dụ
Input: n = 1
Output: true
Explanation: 2^0 = 1
C# lời giải
đã khớp/gốcpublic class Solution {
public bool IsPowerOfTwo(int n) {
if (n == 0) return false;
long x = n;
return (x & (-x)) == x;
}
}
C++ lời giải
bản nháp tự động, xem lại trước khi gửi#include <bits/stdc++.h>
using namespace std;
// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
public bool IsPowerOfTwo(int n) {
if (n == 0) return false;
long x = n;
return (x & (-x)) == x;
}
}
Java lời giải
đã khớp/gốcclass Solution {
public boolean isPowerOfTwo(int n) {
if (n == 0) return false;
long x = n;
return (x & -x) == x;
}
}
JavaScript lời giải
đã khớp/gốcclass Solution {
isPowerOfTwo(n) {
if (n === 0) return false
let x = BigInt(n)
return (x & -x) === x
}
}
Python lời giải
đã khớp/gốcclass Solution:
def isPowerOfTwo(self, n: int) -> bool:
if n == 0:
return False
return (n & -n) == n
Go lời giải
đã khớp/gốcfunc isPowerOfTwo(n int) bool {
if n == 0 {
return false
}
x := int64(n)
return (x & -x) == x
}
Algorithm
Проверка на ноль: Если n равно нулю, return false, так как ноль не является степенью двойки.
Преобразование к длинному типу: Преобразуйте n к типу long, чтобы избежать переполнения при выполнении побитовых операций.
Побитовая проверка: Используйте побитовую операцию, чтобы проверить, является ли number степенью двойки. number является степенью двойки, если результат выражения (x & (-x)) равен x.
😎
Vacancies for this task
việc làm đang hoạt động with overlapping task tags are đã hiển thị.
Chưa có việc làm đang hoạt động.