前言
通过leetcode记录自己每天坚持刷题,以此监督自己的学习。不能放假了就懈怠😁
题目简介
实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。
示例 1:
输入:x = 2.00000, n = 10 输出:1024.00000
示例 2:输入:x = 2.10000, n = 3 输出:9.26100
解析
这个题就是单纯的简简单单的快速幂…感觉放middle等级是不是太拉跨了,而且感觉lc上剑指offer的题都挺简单的🤨
代码
class Solution:
def myPow(self, x: float, n: int) -> float:
ans=1
if n>0:
while n:
if n&1:
ans*=x
n>>=1
x*=x
return ans
else:
n=-n
while n:
if n&1:
ans*=x
n>>=1
x*=x
return 1/ans