放弃作业的我来肝算法题目 望地久天长
今日收获
- 打表哥
- {}
- python 转c的各种折磨
- 简单的位运算
附上代码4的幂
class Solution {
public:
bool isPowerOfFour(int n) {
long a[17]={1, 4, 16, 64, 256, 1024, 4096, 16384, 65536, 262144, 1048576, 4194304, 16777216, 67108864, 268435456, 1073741824, 4294967296};
for (int i=0;i<=16;i++){
if (n==a[i]) return 1;
}
return 0;}
};
有营养的2的幂
class Solution {
public:
bool isPowerOfTwo(int n) {
//return 1 <->
// return n && (n&(n-1)==0); 需要n>0;
return n > 0 && (n & (n - 1)) == 0;
}
};
还有3的幂
class Solution {
public:
bool isPowerOfThree(int n) {
if (n==1) return 1;
if (n <0) return 0;
unsigned int b = 1;
while (b < n){
b = (b << 1) + b;
if (b == n)
return 1;}
return 0;
}
};