思想
很简单,没有思想,就一个问题就是在double计算的时候可能会出现精度问题,所有需要引入BigDecimal,并且以String的类型进行构造,不能通过double的形式进行构造。
结果
运行时间:51ms
占用内存:12916KB
代码
public double Power(double base, int exponent) { // 如果次方是负数,那么对base =》 1/base if (exponent < 0){ base = 1/base; exponent = exponent * -1; } // 引入BigDecimal是为了解决double在计算时的精度问题 BigDecimal decimal = new BigDecimal("1.0"); BigDecimal bigBase = new BigDecimal(base + ""); for (int i = 0; i < exponent; i++) { decimal = decimal.multiply(bigBase); } return decimal.doubleValue(); }