数值的整数次方_JAVA_中等
数值的整数次方
http://www.nowcoder.com/questionTerminal/1a834e5e3e1a4b7ba251417554e07c00
- 暴力方法每次只乘一次base,考虑将exponent化成二进制,base每次平方,来进行结果的增长
public class Solution {
public double Power(double base, int exponent) {
double result = 1.0;
if(exponent < 0) {
exponent = -exponent;
base = 1 / base;
}
// 二进制缩减
while(exponent != 0) {
if(exponent % 2 == 1) {
result *= base;
}
exponent >>= 1;
base *= base;
}
return result;
}
}
查看7道真题和解析