Implement pow(xn).

幂运算,简单的方法snag然很好实现,直接循环相乘就可以了,但是这里应该不是那种那么简单,我的做法使用到了一点递归:

 class Solution {
public:
double myPow(double x, int n)
{
if(n == INT_MIN)
return 1.0/(x * myPow(x, INT_MAX)); //这里考虑了一下由于传参数的限制还是将其变成INT_MAX
if(n < )
return 1.0/myPow(x, -n);
if(n == )
return 1.0;
double half = myPow(x, n/), ret = 0.0;
if(n%)
return half * half * x;
return half * half;
}
};

这里有个注意点就是考虑到INT_MIN的情况,做出相应的处理

下面是java写的版本:

 class Solution {
public double myPow(double x, int n){
if(n == Integer.MIN_VALUE)
return 1.0/(x*myPow(x, Integer.MAX_VALUE));
if(n < 0)
return 1.0/myPow(x,-n);
if(n == 0)
return 1.0;
double half = myPow(x, n/2);
if(n%2 == 1)
return half * half * x;
return half * half;
}
}

最新文章

  1. CANopen学习——同步
  2. HTML CSS 特殊字符表(转载)
  3. Visual Studio 2015上安装Entity Framework Power Tools
  4. [LeetCode]447 Number of Boomerangs
  5. CSS命名
  6. 原生js获取Html元素的实际宽度高度
  7. Web应用程序系统的多用户权限控制设计及实现-登录模块【4】
  8. BZOJ 2727 双十字(树状数组)
  9. js不能执行,IE处理方法
  10. GiftWrapping算法解决二维凸包问题
  11. 使用 Microsoft.ApplicationBlocks.Data SqlHelper 查询超时以及解决方案
  12. JavaScript的一些小用法
  13. JavaWeb核心编程之(三.3)Servlet Init 配置
  14. Java原生API操作XML
  15. 【Jquery】prop与attr的差别
  16. 如何高逼格读取Web.config中的AppSettings
  17. shiro经典通俗易懂javase例子
  18. java文件上传 关键代码
  19. 去掉dede织梦position当前位置最后一个箭头的方法
  20. go import 使用方法记录

热门文章

  1. 初识JS 基本语法.基本运算符
  2. html基础 CSS样式表
  3. module.exports和exports得区别
  4. C++添加简单的日记记录
  5. 修改AdminLTE左侧菜单展开延迟
  6. SVN使用—高级用法
  7. Mysql 慢查询日志配置
  8. Nginx 限制php解析、限制浏览器访问
  9. Nginx 静态缓存
  10. error: &#39;for&#39; loop initial declarations are only allowed in C99 mode