Python描述 LeetCode 50. Pow(x, n)

  大家好,我是亓官劼(qí guān jié ),在【亓官劼】公众号、GitHub、B站等平台分享一些技术博文,主要包括前端开发、python后端开发、小程序开发、数据结构与算法、docker、Linux常用运维、NLP等相关技术博文,时光荏苒,未来可期,加油~

  如果喜欢博主的文章可以关注博主的个人公众号【亓官劼】(qí guān jié),里面的文章更全更新更快。如果有需要找博主的话可以在公众号后台留言,我会尽快回复消息.

Python描述 LeetCode 50. Pow(x, n)_leetcode

本文原创为【亓官劼】(qí guān jié ),请大家支持原创,部分平台一直在恶意盗取博主的文章!!! 全部文章请关注微信公众号【亓官劼】。

题目

实现 ​​pow(x, n)​​​ ,即计算 ​​x​​​ 的 ​​n​​​ 次幂函数(即,​​xn​​ )。

示例 1:

输入:x = 2.00000, n = 10
输出:1024.00000

示例 2:

输入:x = 2.10000, n = 3
输出:9.26100

示例 3:

输入:x = 2.00000, n = -2
输出:0.25000
解释:2-2 = 1/22 = 1/4 = 0.25

提示:

  • ​-100.0 < x < 100.0​
  • ​-231 <= n <= 231-1​
  • ​-104 <= xn <= 104​

Python描述

快速幂

class Solution:
def myPow(self, x: float, n: int) -> float:
bn = str(bin(abs(n)))[2:][::-1]
res = 1
tmp = x
for item in bn:
if item == '1':
res *= tmp
tmp *= tmp
return res if n >= 0 else 1/res