欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > [leetcode刷题]力扣刷题11之斐波那契数(简单)

[leetcode刷题]力扣刷题11之斐波那契数(简单)

2024/10/25 6:23:22 来源:https://blog.csdn.net/m0_63680328/article/details/142306598  浏览:    关键词:[leetcode刷题]力扣刷题11之斐波那契数(简单)

非常简单,但经常会用到。还学到一行代码的等号中是同时计算的,

a, b = b, a + b  # 同时更新 a 和 b

不同于,下面的是先后顺序

a=b
b=a+b

题目

斐波那契数

斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:

F(0) = 0,F(1) = 1
F(n) = F(n - 1) + F(n - 2),其中 n > 1

给定 n ,请计算 F(n) 。

思路

斐波那契数列(Fibonacci Sequence)与算法之间有密切的关系,尤其在优化问题、递归与动态规划等方面有广泛的应用。斐波那契数列是算法中一个经典的例子,用于展示不同算法的效率、时间复杂度分析以及优化技术。动态规划由于每次只需要前两项,可以将空间优化到 O(1)。

代码

class Solution:def fib(self, n: int) -> int:a = 0b = 1if n == 0:return 0elif n == 1:return 1for i in range(2, n + 1):a, b = b, a + b  # 同时更新 a 和 breturn b

版权声明:

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

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