50 Pow(x, n)

来源:互联网 发布:贵州旅游数据 编辑:程序博客网 时间:2024/05/19 06:18

50 Pow(x, n)

链接:https://leetcode.com/problems/powx-n/
问题描述:
Implement pow(x, n).

Hide Tags Math Binary Search

实现pow函数。这个问题可以用递归解决,联想到到 Binary Search,我的解决方案是每次让指数缩小两倍,当指数为技术的时候需要特别处理。还有指数为负的情况需要注意。

class Solution {public:    double myPow(double x, int n)     {        if(n>0)           return mPow(x,n);        else           return 1.0/mPow(x,-n);    }    double mPow(double x, int n)     {       if(n==0) return 1;        if(n==1) return x;        double result=x*x;        if(n>0)        {        if(n%2==0)           return myPow(result,n/2);        else           return myPow(result,(n-1)/2)*x;        }    }};
0 0
原创粉丝点击