标签:style blog http io ar color sp java on
题目 | Pow( x, n) |
通过率 | 26.2% |
难度 | Medium |
Implement pow(x, n).
初步构想:开始拿到题目就以为是简单的求幂运算,一直迭代乘法就可以了,事实证明,想法过于简单!!结果自己给自己挖了个坑,根本没有考虑到数的大小以及溢出的问题,自己默认n为正数了,要注意幂指数为负数的情况是需要转换的。
注意事项:
1. 注意幂指数的符号问题(即 n < 0)
2. 算法优化:采用分治策略,但是要区分n的奇偶性。
java代码:
1 public class Solution { 2 public double pow(double x, int n) { 3 if(n < 0) 4 { 5 if(n == Integer.MIN_VALUE) 6 { 7 return 1.0 / (pow(x,Integer.MAX_VALUE)*x); 8 } 9 else 10 { 11 return 1.0 / pow(x,-n); 12 } 13 } 14 if(n == 0) 15 { 16 return 1.0; 17 } 18 double half = pow(x , n/2); 19 if(n%2 == 0) 20 { 21 return half*half; 22 }else 23 { 24 return half*half*x; 25 } 26 } 27 }
万事开头难啊,开始刷的第一道题就诸多问题,眼高手低的毛病码农界坚决不允许啊,gogogo~~~
2014-12-13
16:58:55
软微3202
标签:style blog http io ar color sp java on
原文地址:http://www.cnblogs.com/pku-min/p/4161598.html