描述
实现 pow(x, n). (n是一个整数)
说明
不用担心精度,当答案和标准输出差绝对值小于1e-3时都算正确
样例
- 样例 1:
输入: x = 9.88023, n = 3
输出: 964.498
- 样例 2:
输入: x = 2.1, n = 3
输出: 9.261
- 样例 3:
输入: x = 1, n = 0
输出: 1
挑战
时间复杂度O(logn)
解析
class Solution:
def myPow(self, x, n):
if x == 0:
return 0
if n < 0:
x = 1.0 / x
n = abs(n)
res = 1
while n != 0:
if n & 1:
res *= x
x *= x
n = n >> 1
return res