50.Pow(x, n)
【LetMeFly】50.Pow(x, n)
实现 pow(x, n) ,即计算x
的n
次幂函数(即,xⁿ
)。
示例 1:
1 |
|
示例 2:
1 |
|
示例 3:
1 |
|
提示:
- $-100.0 < x < 100.0$
- $-2^{31} \leq n \leq 2^{31}-1$
- $-10^4 \leq x^n \leq 10^4$
题目大意
给你一个浮点数$x$和一个整数$n$,让你计算$x^n$。
思路
$-10^4 \leq x^n \leq 10^4$,也就是说答案不会异常大。因此直接使用修改版的快速幂即可。
快速幂
快速幂的介绍有很多,比如可以参考 https://letmefly.xyz/Notes/ACM/Problems/快速幂 /
但是一般的快速幂都是计算整数的整数次幂的,并且会取模。
因此我们只需要做出一些特殊修改即可:
如果$n$是负数,就计算$1 / Pow(x, -n)$
注意:
一些编程语言中,$n$一定要记得转为long long
,因为-INT_MIN > INT_MAX
方法一:快速幂
直接套用快速幂模板并稍作修改即可。
- 时间复杂度$O(\log n)$
- 空间复杂度$O(1)$
AC代码
C++
1 |
|
同步发文于CSDN,原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/124972517
50.Pow(x, n)
https://blog.letmefly.xyz/2022/05/25/LeetCode 0050.Pow(x, n)/