【Leetcode】Pow(x, n)
2013-11-26 20:33
316 查看
Implement pow(x, n).
题目的要求是计算x的n次方,主要需要注意的地方有以下几点:
1.n应该分正数,0,负数三部分讨论,主要任何数的0次方为1,包括0的0次方。
2.本题采用递归的方式计算,否则如果只是设计一个for循环的话,会出现Time Limit Exceeded的错误,本题的时间复杂度为
class Solution {
public:
double pow(double x, int n) {
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
if(n==0)
return 1;
if(n==1)
return x;
double temp=pow(x,n/2);
if(n<0)
{
if(n&1)
return temp*temp*(1.0/x);
else
return temp*temp;
}
else if(n>0)
{
if(n&1)
return temp*temp*(x);
else
return temp*temp;
}
}
};
题目的要求是计算x的n次方,主要需要注意的地方有以下几点:
1.n应该分正数,0,负数三部分讨论,主要任何数的0次方为1,包括0的0次方。
2.本题采用递归的方式计算,否则如果只是设计一个for循环的话,会出现Time Limit Exceeded的错误,本题的时间复杂度为
class Solution {
public:
double pow(double x, int n) {
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
if(n==0)
return 1;
if(n==1)
return x;
double temp=pow(x,n/2);
if(n<0)
{
if(n&1)
return temp*temp*(1.0/x);
else
return temp*temp;
}
else if(n>0)
{
if(n&1)
return temp*temp*(x);
else
return temp*temp;
}
}
};
相关文章推荐
- [Leetcode] powx n x的n次方
- [LeetCode][Java] Pow(x, n)
- LeetCode 第 372 题 (Super Pow)
- Leetcode 50 Pow(x, n)
- leetcode---Pow(x, n)---快速幂
- Pow(x,n) leetcode java
- LeetCode-Super Pow
- 《leetCode》:Pow(x, n)
- LeetCode 372. Super Pow解题思路(超详细)
- leetcode 372. Super Pow
- Leetcode-50: Pow(x,n)
- [LeetCode] Pow(x, n)
- leetcode解题方案--050--pow(x,n)
- [Leetcode] #50 Pow(x, n)
- leetcode || 50、Pow(x, n)
- leetcode 50 Pow(x, n)
- leetcode:pow(x, n)
- leetcode 50 Implement Pow(x, n)
- LeetCode 50 Pow(x, n)
- LeetCode——Pow(x, n)