leetcode 50. Pow(x, n)
来源:互联网 发布:新津知世 编辑:程序博客网 时间:2024/06/05 05:26
Implement pow(x, n).
实现一个x的n次方的功能,这个题的难度主要在于要判断很多边界,否则会发生越界问题导致error,我也是试了很多次才ac
核心的实现方法是,以2为基数,每次计算都是x的a次方乘以x的a次方,其中a是2的次方数。
public class Solution { public double myPow(double x, int n) { boolean neg = false; double t = 1.0; if(n==0)return 1.0; if(n%2==1 && x<0)neg = true; x = Math.abs(x); if(n<0){ if(x!=0)x=1/x; else return Double.MAX_VALUE; } if(n==Integer.MIN_VALUE){ t *= x; n++; } n = Math.abs(n); while(n>0){ if((n&1)==1){ if(t>Double.MAX_VALUE/x)return Double.MAX_VALUE; t *= x; } x *= x; n = n>>1; } return neg?-t:t; }}
阅读全文
0 0
- [LeetCode]50.Pow(x, n)
- LeetCode --- 50. Pow(x, n)
- [Leetcode] 50. Pow(x, n)
- [leetcode] 50.Pow(x, n)
- LeetCode 50. Pow(x, n)
- 50. Pow(x, n) LeetCode
- [leetcode] 50. Pow(x, n)
- Leetcode 50. Pow(x, n)
- [LeetCode]50. Pow(x, n)
- LeetCode *** 50. Pow(x, n)
- LeetCode 50. Pow(x, n)
- LeetCode 50. Pow(x, n)
- 【LeetCode】50. Pow(x, n)
- [leetcode]50. Pow(x, n)
- LeetCode-50.Pow(x, n)
- LeetCode - 50. Pow(x, n)
- [LeetCode] 50. Pow(x, n)
- LeetCode 50. Pow(x, n)
- 关于Volly框架使用的心得(1)
- 傅里叶原理推导加应用
- 浅析内网穿透可行方案
- 机器人的创建
- java堆栈类使用实例(java中stack的使用方法)
- leetcode 50. Pow(x, n)
- ubuntu“apt-get -f install”问题解决
- 利用责任链模式构建数据校验模块
- 关于CORS(跨源资源共享)实践
- Apache的游戏应用
- Hibernate向mysql数据库插入中文字段乱码问题
- 项目测试的规划
- SAP在采购和销售中的税务处理-增值税
- js面向对象实现元素拖拽