92. Pow(x, n)
2016-01-25 22:58
232 查看
Implement pow(x, n).
分析:题目要求求x的n次方。
但是需要注意的一点是,int可表示的最小的负数的绝对值比int大1,所以把最小的负数单独拿出来处理。类似需要这种处理的题目是Reverse Integer。
然后以二分的方法计算x的n次方。
分析:题目要求求x的n次方。
但是需要注意的一点是,int可表示的最小的负数的绝对值比int大1,所以把最小的负数单独拿出来处理。类似需要这种处理的题目是Reverse Integer。
然后以二分的方法计算x的n次方。
/** * 求x的n次方。 */ public double myPow(double x, int n) { if(n == -2147483648){/*int可表示的最小的负数的绝对值比int大1,所以把最小的负数单独拿出来处理*/ return 1.0/myPow(x,-(n+1))*x; } if(n==0) return 1.0; if(n<0) return 1.0/myPow(x,-n); double half = myPow(x,n>>1); if(n%2==0) return half*half; else return half*half*x; }
相关文章推荐
- POJ 1936(字符串匹配)
- Linux LVM(逻辑卷管理)
- JAVA 聊天窗口
- LeetCode 69. Sqrt(x)
- 【JS学习笔记】JS基础下:函数的讲解
- 标准库函数qsort排序
- JAVA 拆分窗口
- Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
- 【闲着没事儿干】JDK动态代理
- JAVA 下拉列表和滚动条
- 叙旧(四)
- 指针详解
- UVA 1434 YAPTCHA(威尔逊定理简单应用)
- VMware虚拟机屏幕大小(屏幕分辨率)调整
- Android获取缓存大小和清除缓存功能
- WWDC心得与延伸:iOS图形性能
- JAVA 单选按钮、复选按钮
- 二维动态数组与图的遍历
- leetcode:Coin Change
- JAVA 文本框、密码框、标签