欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 50. Pow(x, n)

50. Pow(x, n)

2025/7/5 1:37:05 来源:https://blog.csdn.net/m0_46322965/article/details/147965301  浏览:    关键词:50. Pow(x, n)

50. Pow(x, n)

分治法的基本思想是将一个大问题分解成若干个相同或相似的小问题,递归地解决这些小问题,然后将这些小问题的解合并起来得到原问题的解。

class Solution:def myPow(self, x: float, n: int) -> float:# 内部定义了一个嵌套的辅助函数 pow,用于实际的计算。def pow(n: int):if n == 0:return 1.00000y = pow(n//2)return y*y if n%2==0 else y*y*x#  x^n 等于 1 / x^(-n)# 根据 n 的正负,决定是直接调用 pow(n) 还是 1.00000 / pow(-n)return pow(n) if n > 0 else 1.00000/pow(-n)

时间复杂度和空间复杂度

  • 时间复杂度​:每次递归调用都将问题规模减半(n 除以 2),因此时间复杂度为 O(log n)
  • 空间复杂度​:递归的深度为 log n,因此空间复杂度也是 O(log n)(由于递归调用栈)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词