本文共 1479 字,大约阅读时间需要 4 分钟。
实现 pow(x, n) ,即计算 x 的 n 次幂函数(即xn)。不得使用库函数,同时不需要考虑大数问题。
示例 1: 输入:x = 2.00000, n = 10 输出:1024.00000 示例 2: 输入:x = 2.10000, n = 3 输出:9.26100 示例 3: 输入:x = 2.00000, n = -2 输出:0.25000 解释:2-2 = 1/22 = 1/4 = 0.25 提示: -100.0 < x < 100.0 -231 <= n <= 231-1 -104 <= xn <= 104
class Solution { public double myPow(double x, int n) { if(n==0) return 1; long b=n; if(n<0){ x=1.0/x; b=-b; } double res=1.0; while(b!=0){ if(b%2==1){ res*=x; b-=1; } x*=x; b/=2; } return res; }}
class Solution { public double myPow(double x, int n) { if(n==0) return 1; if(n==1) return x; if(n==-1) return 1.0/x; double half=myPow(x,n/2); double mod=myPow(x,n%2); return half*half*mod; }}
剑指offer全集入口:
转载地址:http://ptca.baihongyu.com/