算法分析:很显然用递归。但是直接用递归会造成栈溢出,时间复杂度是o(n)。所以要用分治思想,时间复杂度是o(logN)。

public class Power {
//栈溢出,时间复杂度是o(n)
public double myPow(double x, int n)
{
if(n < 0)
{
return 1/myPow(x, -n);
}
else if(n == 0)
{
return 1;
}
else
{
return x*myPow(x, n - 1);
}
}
//分治思想,时间复杂度是o(logN)
public double myPow2(double x, int n)
{
if(n < 0)
{
return 1/power(x, -n);
}
else
{
return power(x, n);
}
}
public double power(double x, int n)
{
if(n == 0)
{
return 1;
} double temp = power(x, n/2);
if(n%2 == 0)
{
return temp*temp;
}
else
{
return x*temp*temp;
}
}
}

最新文章

  1. footer置底
  2. Redhat、CentOS添加静态路由的标准方法
  3. Atitit &#160;DbServiceV4qb9&#160;数据库查询类库v4 新特性
  4. C# LIST列表的使用
  5. mysql 时间戳 按周、日、月 统计方法 附 date格式
  6. 进程 &amp; 线程相关知识
  7. Bitset位图
  8. Android中的Selector的用法
  9. ubuntu下lamp环境配置及将window代码迁移至linux系统
  10. for惠普2013实习生
  11. 《javascript语言精粹》——第6章数组
  12. 面向Unity程序员的Android快速上手教程
  13. sqlserver 学习之分离与附加数据库
  14. Linux开发工具_yum使用
  15. BootStrapTable 错误
  16. 利用python搭建Powersploit powershell脚本站点
  17. ansible jenkins war
  18. Typora开启行内公式
  19. linux解压类型总结
  20. idea输出目录详解

热门文章

  1. lintcode-【中等】恢复IP地址
  2. C#可扩展编程之MEF学习笔记(一):MEF简介及简单的Demo
  3. jstree静态生成树并为树添加触发事件
  4. [读书笔记]项目管理实战:Microsoft Project精髓与方法
  5. Cache-control使用:header(&#39;Cache-control:private&#39;)
  6. 查看服务器硬件配置信息(cpu/内存)
  7. php入门变量之数字
  8. careercup-栈与队列 3.2
  9. Java基础知识强化之IO流笔记28:BufferedOutputStream / BufferedInputStream(字节缓冲区流) 之BufferedOutputStream写出数据
  10. #include &lt;sstream&gt;
  11. JAVA Socket传输Object(对象)注意的问题
  12. Fast Paxos 和 Paxos的区别
  13. 新手自定义view练习实例之(一) 泡泡弹窗
  14. python中的包与模块
  15. 小程序批量获取input的输入值,监听输入框,数据同步
  16. NodeJS笔记(三)-创建第一个NodeJS web项目 Express
  17. Quagga的安装和使用
  18. 输入5个学生的信息(包括学号,姓名,英语成绩,计算机语言成绩和数据库成绩), 统计各学生的总分,然后将学生信息和统计结果存入test.txt文件中
  19. oracle-表空间剩余空间大小占比查询
  20. MySQL 5.6学习笔记(数据库基本操作,查看和修改表的存储引擎)