剑指offer--数值的整数次方
2015-04-11 00:54
417 查看
题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。分类:数学
解法1:显然可以使用递归解决,为了提高递归效率,避免重复计算,对于exponent,可以分成exponent/2两部分来求
如果exponent是奇数,则减一,再分成(exponent-1)/2
public class Solution { public double Power(double base, int exponent) { if(exponent<0){ exponent = -exponent; return 1/solve(base,exponent); } return solve(base,exponent); } public double solve(double base, int exponent){ if(exponent==0) return 1; if(exponent%2==1){ return base*solve(base,(exponent-1)/2)*solve(base,(exponent-1)/2); }else{ return solve(base,exponent/2)*solve(base,exponent/2); } } }
相关文章推荐
- 剑指offer_发散思维---数值的整数次方
- 剑指Offer:面试题11 数值的整数次方
- 数值的整数次方[剑指offer]之python实现
- 剑指offer_面试题11_数值的整数次方(*)
- 剑指offer----数值的整数次方
- 剑指offer——数值的整数次方
- 剑指offer——面试题11:数值的整数次方
- 剑指Offer:数值的整数次方
- 剑指offer--数值的整数次方
- 剑指offer 数值的整数次方
- 剑指offer--面试题11:数值的整数次方--Java实现
- 剑指offer——12.数值的整数次方
- 剑指Offer_11 数值的整数次方
- 【剑指offer】数值的整数次方
- 【剑指offer-Java版】11数值的整数次方
- 剑指Offer-数值的整数次方
- 【剑指Offer面试编程题】题目1514:数值的整数次方---九度OJ
- 剑指offer 数值的整数次方
- 剑指offer---16(数值的整数次方)
- (C++)剑指offer-12:数值的整数次方(代码的完整性)