leetcode之路050 Pow(x, n)

来源:互联网 发布:计算圆周率算法 编辑:程序博客网 时间:2024/06/08 09:42


题目:实现pow(x,n)。

挺简单的一个题目,有两个注意点:

1、不能直接用循环多次相乘,效率太低。

2、n可能为负数。(第一次提交错误就是这个原因)

下面是提交ac的代码,运行时间4ms:

class Solution {public:    double myPow(double x, int n) {double resu;double temp;if(n>0){temp=myPow(x,n/2);if(n%2==0)resu=temp*temp;elseresu=temp*temp*x;}else if(n==0)return 1;else{temp=myPow(x,-n/2);if(n%2==0)resu=1/(temp*temp);elseresu=1.00/(temp*temp*x);}return resu;    }};




0 0
原创粉丝点击