首页 > 学院 > 开发设计 > 正文

50. Pow(x, n)

2019-11-06 06:21:15
字体:
来源:转载
供稿:网友

这道题目是求x的n次方。 可以选择用n个x相乘,复杂度为O(n)(负数的-n个相乘再求倒数) 另外就是采取分治来算 分解为pow(x,n/2)*pow(x,n/2) 最后的复杂度应该为logn+logn即为O(logn) 代码如下:

public double myPow(double x, int n) { if (n==0) { return 1; } double temp=myPow(x, n/2); if (n%2==0) { return temp*temp; } else { if (n>0) { return temp*temp*x; } else { return temp*temp/x; } } }
上一篇:Solr笔记

下一篇:C#简单异步例子

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表