LeetCode-python 50.Pow(x,n)

题目链接
难度:中等       类型: 递归


实现 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

解题思路


三种情况:
n%2=0:如3^{50} = 3^{25} \times 3^{25}
n%2=1: 如3^{25}=3^{12} \times 3^{12} \times 3
n<0:如2^{-3}=(\frac{1}{2})^{3}

代码实现

class Solution(object):
    def myPow(self, x, n):
        """
        :type x: float
        :type n: int
        :rtype: float
        """
        if n==0: return 1
        if n<0:
            return self.myPow(1/x, -n)
        half = self.myPow(x, n/2)
        if n%2 == 0:
            return half*half
        if n>0:
            return half*half*x

本文链接://www.greatytc.com/p/09b572f4adc4

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Pow(x, n) 实现 pow(x, n) ,即计算 x 的 n 次幂函数。示例 1: 输入: 2.00000,...
    leacoder阅读 174评论 0 1
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,434评论 0 2
  • 7.整数反转 12.整数转罗马数字 13.罗马数字转整数 29.两数相除 50.Pow(x,y) 60.第k个排列...
    要记录的Ivan阅读 636评论 0 0
  • 题目实现 pow(x, n) ,即计算 x 的 n 次幂函数。 示例 1: 输入: 2.00000, 10输出: ...
    HITZGD阅读 1,086评论 0 0
  • 更多精彩内容,请关注【力扣中等题】。 题目 难度:★★☆☆☆类型:数学方法:运算性质 实现 pow(x, n) ,...
    玖月晴阅读 353评论 0 0