数值的整数次方_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;
  }
}
全部评论

相关推荐

10-22 19:44
门头沟学院 Java
面了100年面试不知...:那我得去剪个头
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务