作者:titia | 来源:互联网 | 2023-05-17 13:48
题目链接:https:leetcode.comproblemspowx-nImplementpow(x,n).思路:使用二分来分治计算,要注意一些特殊情况:奇数和
题目链接:https://leetcode.com/problems/powx-n/
Implement pow(x, n).
思路:使用二分来分治计算,要注意一些特殊情况:奇数和偶数,n=0,为负等情况
代码如下:
class Solution {
public:
double myPow(double x, int n) {
if(n==0) return 1;
if(n == 1) return x;
double half = myPow(x, abs(n/2));
double val = abs(n)%2==1?(half*half*x):(half*half);
return n<0?1/val:val;
}
};