C++刷leetcode(50. Pow(x, n))【快速幂】
题目描述:实现 pow(x, n) ,即计算 x 的 n 次幂函数。
示例 1:
输入: 2.00000, 10
输出: 1024.00000
示例 2:
输入: 2.10000, 3
输出: 9.26100
示例 3:
输入: 2.00000, -2
输出: 0.25000
解释: 2-2 = 1/22 = 1/4 = 0.25
说明:
-100.0 < x < 100.0
n 是 32 位有符号整数,其数值范围是 [−231, 231 − 1] 。
double getResult(double x, int n){
if(n == 0) return 1;
else if(n > 0) return getResult(x, -n);
else if(n%2!= 0) returnx*getResult(x, n+ 1);
return getResult(x*x, n/2);
}
double myPow(double x, int n) {
double result = getResult(x, n);
return n<0 ? 1/result:result;
}
注意事项:
1.快速幂:https://leetcode-cn.com/problems/powx-n/solution/c-kuai-su-mi-di-gui-yu-die-dai-by-wen-mu-yang/
2." 需要注意的是测试用例中 n可能存在-2147483648的情况,由于有符号整数负数范围比正数范围大, 所以可以先把n转换为负数进行计算(避免越界)"引自leetcode评论区。 告诉我你用了多长时间...... _2_ 发表于 2020-4-22 11:18
告诉我你用了多长时间......
要一起刷题吗{:10_330:} 糖逗 发表于 2020-4-22 11:39
要一起刷题吗
对不起,我用的是 Python
https://fishc.com.cn/forum.php?mod=collection&action=view&ctid=1611&fromop=my 糖逗 发表于 2020-4-22 11:39
要一起刷题吗
可以啊{:10_298:}
https://fishc.com.cn/forum.php?mod=collection&action=view&ctid=1611&fromop=my
先看看我的淘帖吧 _2_ 发表于 2020-4-22 13:39
可以啊
https://fishc.com.cn/forum.php?mod=collection&action=view&ctid=1611&fromop=my
...
关注啦! 糖逗 发表于 2020-4-22 13:40
关注啦!
蟹蟹{:10_298:}
页:
[1]