剑指offer-12-数值的整数次方
数值的整数次方
http://www.nowcoder.com/questionTerminal/1a834e5e3e1a4b7ba251417554e07c00
思路
考虑负指数,把负指数变正,最后1/结果
指数可分解,偶数提出来2,指数除2,奇指数,指数减一,结果乘上base
代码
import java.util.*;
public class Solution {
public double Power(double base, int exponent) {
if(base==0){
return 0;
}
if(exponent==0){
return 1;
}
double res=1;
boolean f=false;
if(exponent<0){
exponent=-exponent;
f=true;
}
while(exponent>0){
if(exponent%2==1){
res*=base;
exponent-=1;
}else{
base=base*base;
exponent/=2;
}
}
if(f){
res=1/res;
}
return res;
}
}剑指offer与数据结构 文章被收录于专栏
本专栏包括剑指offer题目和一些刷题用的数据结构,单调栈,树状数组,差分数组,后面还会更新红黑树等较为复杂的数据结构
查看8道真题和解析
