《剑指offer》牛客网java题解-数值的整数次方
2017-08-13 18:03
393 查看
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
double类型不能直接用==判断,底数等于0指数小于0时不能将0作为分母。
使用了优化的求幂函数
double类型不能直接用==判断,底数等于0指数小于0时不能将0作为分母。
使用了优化的求幂函数
public class Solution { public double Power(double base, int exponent) { if (equal(base, 0) && exponent < 0) { return 0.0; } int absExponent = Math.abs(exponent); double result = powerWithExponent(base, absExponent); if (exponent < 0) { result = 1.0 / result; } return result; } public double powerWithExponent(double base, int absExponent) { if ( absExponent == 0 ) return 1; if ( absExponent == 1 ) return base; double result = powerWithExponent(base, absExponent >>1); result *= result; if ( (absExponent&1) == 1 ) result *= base; return result; } public boolean equal(double num1, double num2) { if ((num1 - num2 > -0.0000001) && (num1 - num2 < 0.0000001)) { return true; } else return false; } }
相关文章推荐
- 《剑指offer》编程题java实现(四):数值的整数次方
- JAVA实现数值的整数次方(《剑指offer》)
- 剑指Offer(Java版):数值的整数次方
- 牛客网-《剑指offer》-数值的整数次方[快速幂运算]
- 剑指Offer:面试题11——数值的整数次方(java实现)
- 剑指offer面试题11 数值的整数次方的Java代码实现
- 《剑指offer》面试题16:数值的整数次方
- 剑指offer: 数值的整数次方
- 数值的整数次方(牛客网7)
- 剑指offer之十一---数值的整数次方
- JAVA: 数值的整数次方
- 《剑指offer》——数值的整数次方
- 剑指Offer(16)数值的整数次方
- 牛客网刷题之数值的整数次方
- 剑指Offer笔记—— 数值的整数次方 在O(1)时间删除链表结点
- (剑指Offer)面试题11:数值的整数次方
- 《剑指Offer》 数值的整数次方
- 剑指Offer面试题11:数值的整数次方 Java实现
- 剑指Offer——数值的整数次方
- 数值的整数次方(java版)