cc
public class Solution {
public double MyPow(double x, int n) {
if (n == 0) return 1;
if (n < 0) {
n = -n;
x = 1 / x;
}
var ret = n % 2 == 0 ? MyPow(x * x, n / 2) : MyPow(x * x, n / 2) * x;
return double.IsInfinity(ret) ? 0 : ret;
}
}

迭代哎;


本文介绍了一种使用递归实现快速幂算法的方法,该算法能够高效地计算x的n次方,即使当n为负数时也能正确处理。通过将问题分解为更小的子问题,算法实现了指数级的时间复杂度降低。

280

被折叠的 条评论
为什么被折叠?



