leetcoder-50-Pow(x, n)
2015-07-09 16:46
85 查看
Pow(x, n)
可以直接用库函数pow(x,n)一步搞定,但明显这样就没意思了。
参考 快 速 幂 取 模二分,复杂度为O(logn)
递归方法
class Solution {
public:
double myPow(double x, int n) {
if(n<0) return 1.0/myPow_1(x,-n);
else return myPow_1(x,n);
}
double myPow_1(double x,int n)
{
if(n==0) return 1.0;
double y=myPow_1(x,n/2); // 不能用n>>1 T_T 不知道什么原因
if(n&1) return y*y*x;
else return y*y;
}
};
class Solution {
public:
double myPow(double x, int n) {
if(n<0){
n=-n;
x=1.0/x;
}
double ans=1;
while(n){
if(n&1) ans=ans*x;
x=x*x;
n=n/2;
}
return ans;
}
};
相关文章推荐
- jmlr论文下载
- thinkphp框架中session常识
- 黑马程序员——C语言基础---预处理指令及其他
- java 导出excel
- 摘自ubantuer-Linux防火墙iptables学习笔记(三)iptables命令详解和举例
- Visual Studio 中使用try except 遇到的问题
- 为毛程序猿总是找不到对象?
- [CVPR2015]Learning to propose objects
- mysql处理高并发
- R中读取文件,找不到路径问题 No such file or directory
- 不行了,一天一题都搞不出来,kuangbin博客已刷到头,现在开始专题训练
- ESRI.ArcGIS.esriSystem名称空间问题
- PHP实现的QQ空间g_tk加密算法
- SQL生成按月的自动编号
- Ubuntu在启动器栏创建程序起动器
- mininet中安装ryu过程中出现的问题
- 小小的几个功能子函数
- piwk 一页多服务统计
- qt学习笔记(九)之数据库_初窥用户接口层
- Appfuse:第一张表维护