class Solution: def fib(self, n: int) -> int: # 方法1 传统的递归算法,这是没有加备忘录的,加备忘录速度会更快一点 if n<2: return n else: return self.fib(n-1) + self.fib(n-2) # 方法2 非递归算法--动态规划 # 利用状态转移方程 f(n+1)=f(n)+f(n-1) # 时间复杂度O(n) if n < 2: return n p, q, r = 0, 0, 1 for i in range(2, n+1): p, q = q, r r = p + q return r
LeetCode 509 斐波那契数
最新推荐文章于 2025-12-02 18:04:47 发布
该博客介绍了两种计算斐波那契数列的方法:一种是传统的递归算法,虽然直观但效率较低;另一种是使用动态规划的非递归算法,其时间复杂度为O(n)。通过这两种方式,博主展示了如何优化计算过程以提高效率。
536

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



