[LeetCode][JavaScript]Power of Two
2015-07-06 13:31
896 查看
Power of Two
Given an integer, write a function to determine if it is a power of two.https://leetcode.com/problems/power-of-two/
二分。
2的整数次幂,要么开方后是整数(这个数也是2的整数次幂),要么除以2之后再开方后是整数。继续递归判断开方后的结果直到碰到1或者2。
比如1024(2^10),是由两个32(2^5)相乘;2048(2^11),是由两个32(2^5)相乘,再乘以2。
/** * @param {number} n * @return {boolean} */ var isPowerOfTwo = function(n) { if(n < 1){ return false; }else if(n === 2 || n === 1){ return true; }else{ var sqrt = Math.sqrt(n); if(sqrt === parseInt(sqrt)){ return isPowerOfTwo(sqrt); }else{ n = n / 2; sqrt = Math.sqrt(n); if(sqrt === parseInt(sqrt)){ return isPowerOfTwo(sqrt); }else{ return false; } } } };
相关文章推荐
- libgdx的菜单配置,以及json文件的结构
- [LeetCode][JavaScript]Largest Number
- 如何将一个json中的json字符串转换成一个USER对象。
- js
- javascript自定义事件
- javascript实现的多个层切换效果通用函数实例
- js控制下的飘窗
- javascript动态添加删除tabs标签的方法
- js显示隐藏
- js添加收藏夹
- 转:Json序列化和反序列化
- js 切换图片
- JSP内置对象
- Js 正则表达式 写了一个正整数或小数点或分数前两个正则表达式
- 实现js呼叫流行
- js实现:'w5-8' -> /^\w{5,8}$/
- 跨浏览器用javascript获取窗口的位置和大小
- JavaScript灵活性
- JavaScript灵活性
- 图解Javascript上下文与作用域