50. Pow(x, n)
难度中等644收藏分享切换为英文接收动态反馈
实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。
示例 1:
输入:x = 2.00000, n = 10
输出:1024.00000
示例 2:
输入:x = 2.10000, n = 3
输出:9.26100
示例 3:
输入:x = 2.00000, n = -2
输出:0.25000
解释:2-2 = 1/22 = 1/4 = 0.25
提示:
-100.0 < x < 100.0
-231 <= n <= 231-1
-104 <= xn <= 104
A的4次方
=( A的2次方
)*( A的2次方
)
A的8次方
=( A的4次方
)*( A的4次方
)
class Solution {
public static double myPow(double x, int n) {
if (n == 0) {
return 1D;
}
if (n == Integer.MIN_VALUE) {
return (x == 1D || x == -1D) ? 1D : 0;
}
int pow = Math.abs(n);
double t = x;
double ans = 1D;
while (pow != 0) {
if ((pow & 1) != 0) {
ans *= t;
}
pow >>= 1;
t = t * t;
}
return n < 0 ? (1D / ans) : ans;
}
}