剑指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题目和一些刷题用的数据结构,单调栈,树状数组,差分数组,后面还会更新红黑树等较为复杂的数据结构