剑指 Offer 16. 数值的整数次方
程序员文章站
2022-03-16 11:03:39
...
剑指 Offer 16. 数值的整数次方
链接:https://leetcode-cn.com/problems/shu-zhi-de-zheng-shu-ci-fang-lcof/
快速幂的用法,只是这里需要注意的是如果是负幂数,底数换成倒数。时间复杂度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
推荐阅读
-
剑指offer11:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。(进制转换,补码反码)
-
剑指offer31:整数中1出现的次数(从1到n整数中1出现的次数)
-
剑指offer11:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。(进制转换,补码反码)
-
剑指offer JZ31 整数中1出现的次数 Python 解
-
剑指Offer16_数值的整数次方(快速幂及拓展)
-
【剑指offer】_11整数中1出现的次数
-
【剑指offer】_08.数值的整数次方
-
剑指offer两个面试案例 把字符串转换成整数 树中两个节点的最低公共祖先
-
【LeeCode 中等 数学 python3】剑指 Offer 43. 1~n整数中1出现的次数
-
剑指offer JZ53 表示数值的字符串 Python 多解