【LeetCode】Pow(x, n)

来源:互联网 发布:网络协议种类 编辑:程序博客网 时间:2024/05/17 06:06

Implement pow(xn).

// 二分法,x^n = x^{n/2} * x^{n/2} * x^{n\%2}// 时间复杂度 O(logn),空间复杂度 O(1)class Solution {public:    double pow(double x, int n)     {        if (n < 0) return 1.0 / power(x, -n);        else return power(x, n);    }private:    double power(double x, int n)     {        if (n == 0) return 1;        double v = power(x, n / 2);        if (n % 2 == 0) return v * v;        else return v * v * x;    }};


0 0
原创粉丝点击