文章目录
342. 4的幂 javascript
题目:
给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。
整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4x
示例
输入:n = 16
输出:true
输入:n = 5
输出:false
输入:n = 1
输出:true
代码1 循环
var isPowerOfFour = function(n) {
var tmp = parseInt(n/4)
for(var i=0;i<=tmp;i++){
if(Math.pow(4,i) == n)return true
}
return false
};
超时
代码2 换种思路:正则表达式
- 可以先将10进制,转换成4进制
- 发现满足4的幂 的 4进制 都是10开头 (1除外)
1 1
4 10
16 100
64 1000
...
var isPowerOfFour = function(n) {
if(n == 1) return true
return (/^10*$/g).test(n.toString(4))
};
学艺不精,还需努力💪