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