本文共 506 字,大约阅读时间需要 1 分钟。
问题:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
思路:
递归:n为偶数,a^n=a^n/
2
*a^n/
2
;
n为奇数,a^n=(a^(n-1)
)*a 时间复杂度为O(log(n))
public class Solution { public double Power(double base, int exponent) { int n=Math.abs(exponent); if(n==0) return 1; if(n==1) return base; double result=Power(base,n>>1); result*=result; if((n&1)==1)//判断奇数 result*=base; if(exponent<0) result=1/result; return result; }}
转载地址:http://eomvb.baihongyu.com/