首页 > 代码库 > Leetcode:Pow(x,n)
Leetcode:Pow(x,n)
Description: Implement pow(x, n).
分析: 求幂次运算,典型的分治算法来解。 因为pow(x,n/2)*pow(x,n/2) 有着重复运算,分治法就会非常快O(log n)
1 class Solution { 2 public: 3 double findval(double x,int n) 4 { 5 if(n==0) return 1; 6 if(n==1) return x; 7 double value = http://www.mamicode.com/pow(x,n/2); 8 if(n%2) return value*value*x; 9 else return value*value;10 }11 double pow(double x, int n) {12 bool flag = false;13 if(n<0)14 {15 n=-n;16 flag = true;17 }18 double value =http://www.mamicode.com/ findval(x,n);19 if(flag) return 1/value;20 else return value;21 22 }23 };
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。