LeetCode-50-Pow(x, n)( 二分法)-Medium

来源:互联网 发布:淘宝自己的评价不见了 编辑:程序博客网 时间:2024/06/05 01:19

题意理解:

自己实现pow()函数;


题目分析:

二分法:可以粗糙理解为pow(m, n)= pow(m, n/2)*pow(m, n/2)


解题代码:

class Solution {private:double funPow(double x, int n) {        if(n==0){            return 1;        }                double half=myPow(x, n/2);        if(n%2==0){            return half*half;        }else if(n%2==1){            return x*half*half;        }    }public:    double myPow(double x, int n) {        if(n>=0){            return funPow(x, n);        }else{            return 1.0/funPow(x, -1*n);        }    }};


0 0
原创粉丝点击