leetcode50-Pow(x, n)(实现浮点数的幂运算)
2016-04-17 22:59
323 查看
问题描述:
Implement pow(x, n).
实现浮点类型的幂运算。
问题求解:
方法一:递归,O(n)解法。
方法二:递归,O(logn)解法。
Implement pow(x, n).
实现浮点类型的幂运算。
问题求解:
方法一:递归,O(n)解法。
class Solution { public: double myPow(double x, int n) { if(n==0) return 1.0; if(n<0) { if(n==INT_MIN) return 1.0 / (pow(x,INT_MAX)*x);//!!! else return 1.0/pow(x,-n); } return x*pow(x,n-1); } };
方法二:递归,O(logn)解法。
class Solution { public: double myPow(double x, int n) { if(n==0) return 1.0; if(n<0) { if(n==INT_MIN) return 1.0 / (myPow(x,INT_MAX)*x);//!!! else return 1.0/myPow(x,-n); } else { if(n%2==0) { double tmp=myPow(x, n>>1); return tmp*tmp; } else { double tmp=myPow(x, (n-1)>>1); return x*tmp*tmp; } } } };
相关文章推荐
- 隐式意图
- 使用沃通免费证书在tomca下t配置https实战
- 20145213《Java程序设计》实验二Java面向对象程序设计实验报告
- yii2史上最简单式安装教程,没有之一
- LeetCode(63)-First Bad Version
- LeetCode(63)-First Bad Version
- LeetCode(63)-First Bad Version
- Java基础篇(内部类,匿名类,匿名内部类)
- GridView
- 序列化
- C++学习笔记56——类模板中的class与typename
- C++模板引出的标准模板库----->初涉
- 如何让自己内心强大起来 [转]
- 【第四次自考】实战总结
- gulp css html image js 合并压缩
- 基础级-图形验证码
- SICP list
- Spring MVC事务配置
- 20144303 《Java程序设计》第七周学习总结
- 轻量级应用开发之(06)Autolayout自动布局2