美文网首页
leetcode Pow(x,n)

leetcode Pow(x,n)

作者: 仁安天下 | 来源:发表于2019-10-14 09:34 被阅读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真的是一门简洁的语言,封装了很多细节,对技术本身是不利的

    相关文章

      网友评论

          本文标题:leetcode Pow(x,n)

          本文链接:https://www.haomeiwen.com/subject/nlmhmctx.html