0%

剑指offer(8)——数学(共3道题目)

参考资料:

剑指offer题目汇总

递归和循环(共4道题目)

模板:

  题目描述:

  解题思路

  注意问题

  补充知识点


12、数值的整数次方


12、数值的整数次方

  题目描述:

  给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

  解题思路:采用分治的思想,递归的方法,时间复杂度为log(n);

——数学(共3道题目)/1.png)

  注意问题

  1.此题无需考虑底数为0的情况;

  2.到叶子节点之后,一共有三种情况,分别讨论;

  3.对于指数为负数的情况,可以转化为1/base的正指数去理解;

  补充知识点:递归与分治

1
2
3
4
5
6
7
8
9
10
11
12
13
public class Solution {
public double Power(double base, int exponent) {
//return Math.pow(base,exponent);
if (exponent==0)
return 1;
if (exponent==1)
return base;
if (exponent==-1)
return 1.0/base;//递归结束条件
double half=Power(base,exponent/2);//原问题分解为子问题
return half*half*Math.pow(base,exponent%2);//子问题的结果整合为原问题
}
}