leetcode Pow(x,n)
2019-10-14 本文已影响0人
仁安天下
实现 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
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/powx-n
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution(object):
def myPow(self, x, n):
"""
:type x: float
:type n: int
:rtype: float
"""
op = n
if x==1:
return 1
if x==-1:
if op%2==0:
return 1
else:
return -1
if op == 0:
return 1
if op<0:
x = 1/x
tmp = x
while n!=0:
if -(1e-16)<x<1e-16:
return 0
if n>1:
x = tmp *x
n-=1
elif n<-1:
x = tmp * x
n+=1
elif n==-1 :
n+=1
else:
n-=1
return x
上面是自己写的
class Solution(object):
def myPow(self, x, n):
"""
:type x: float
:type n: int
:rtype: float
"""
return pow(x,n)
上面是用python内部的写法,可见python真的是一门简洁的语言,封装了很多细节,对技术本身是不利的