class Solution:
# 算法真的是博大精深啊,瑞思拜
def superPow(self, a: int, b: List[int]) -> int:
MOD = 1337
ans = 1
# 倒序计算
for e in reversed(b):
# 这里用到指数幂的结合律,即a^1234=(a^1000)^1*(a^100)^2*(a^10)^3*(a^1)^4
# 顺带直接取模
ans = ans*pow(a,e,MOD)%MOD
# 更新a的值,也直接取模
a = pow(a,10,MOD)
return ans
LeetCode 372 超级次方
最新推荐文章于 2025-12-18 17:00:31 发布
本文探讨了一种名为'超级幂'的算法,使用Python实现时巧妙利用了指数幂的结合律。通过实例演示如何倒序计算并优化计算过程,确保结果对1337取模。核心在于理解幂运算的性质和Python pow函数的应用。
752

被折叠的 条评论
为什么被折叠?



