码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode----------Pow(x, n)

时间:2014-12-13 17:49:18      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   sp   java   on   

 题目 Pow( x, n)
通过率 26.2%
难度 Medium

Implement pow(xn).

    初步构想:开始拿到题目就以为是简单的求幂运算,一直迭代乘法就可以了,事实证明,想法过于简单!!结果自己给自己挖了个坑,根本没有考虑到数的大小以及溢出的问题,自己默认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

leetcode----------Pow(x, n)

标签:style   blog   http   io   ar   color   sp   java   on   

原文地址:http://www.cnblogs.com/pku-min/p/4161598.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!