本文主要是介绍Python | Leetcode Python题解之第50题Pow(x,n),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
题解:
class Solution:def myPow(self, x: float, n: int) -> float:def quickMul(N):ans = 1.0# 贡献的初始值为 xx_contribute = x# 在对 N 进行二进制拆分的同时计算答案while N > 0:if N % 2 == 1:# 如果 N 二进制表示的最低位为 1,那么需要计入贡献ans *= x_contribute# 将贡献不断地平方x_contribute *= x_contribute# 舍弃 N 二进制表示的最低位,这样我们每次只要判断最低位即可N //= 2return ansreturn quickMul(n) if n >= 0 else 1.0 / quickMul(-n)
这篇关于Python | Leetcode Python题解之第50题Pow(x,n)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!