Pow(x, n)

来源:互联网 发布:python del 编辑:程序博客网 时间:2024/06/10 17:05


Implement pow(x, n).

注意:n可能小于0

错误:pow(x,n) = x * pow(x,n - 1)栈溢出

代码:

public class Solution {    public double pow(double x, int n) {        if(n == 0)            return 1;        if(n < 0)        {            n = -n;            x = 1 / x ;        }        return x * pow(x, n - 1);    }}

正确:logn

代码:

 

public class Solution {    public double pow(double x, int n) {        if(n == 0)            return 1;        if(n < 0)        {            n = -n;            x = 1 / x ;        }        double result = pow(x,n / 2);        if(n % 2 == 0)            return result * result;        else             return result * result * x;    }}


0 0
原创粉丝点击