欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

剑指 Offer 16. 数值的整数次方

程序员文章站 2022-03-16 11:03:39
...

剑指 Offer 16. 数值的整数次方

链接:https://leetcode-cn.com/problems/shu-zhi-de-zheng-shu-ci-fang-lcof/

剑指 Offer 16. 数值的整数次方

 快速幂的用法,只是这里需要注意的是如果是负幂数,底数换成倒数。时间复杂度O(log2n),移位的时间,空间复杂度:O(1)

class Solution:
    def myPow(self, x: float, n: int) -> float:
        if n < 0:
            x, n = 1/x, -n
        res = 1
        while n:
            if n&1:
                res = res*x
            x = x*x
            n >>= 1
        return res