机智喵
首页
机器学习
代码分享
网络安全
学习分享
关于
登录
首页
机器学习
代码分享
网络安全
学习分享
首页
›
代码分享
›
leetcode刷题|509.斐波那契数
leetcode刷题|509.斐波那契数
2023-11-23 09:16
327
0
## 简介 斐波那契数列(Fibonacci sequence)是一种经典的数学序列,以意大利数学家列昂纳多·斐波那契(Leonardo Fibonacci)的名字命名。该数列的定义如下: F(0) = 0, F(1) = 1 ,…… F(n) = F(n-1) + F(n-2) 换句话说,从第三项开始,每一项都是前两项之和。因此,数列的前几项如下: \[ 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,] 斐波那契数列在自然界、艺术和计算机科学等领域都有广泛的应用。在自然界中,例如,斐波那契数列可以描述植物的花瓣排列、螺旋形状,还与黄金比例等数学概念有关。在计算机科学中,斐波那契数列常被用于算法和编程练习,同时也被应用在一些优化问题上。 这个数列的特点是数列中的每一项都是前两项之和,形成了一个递归的关系。 ## 解题思路 前两个数为0,1的直接返回原来的数据值。从F(2)开始为前两个数之和 由于斐波那契数存在递推关系,因此可以使用动态规划求解。动态规划的状态转移方程即为上述递推关系,边界条件为 F(0) 和 F(1)。 ![](https://assets.leetcode-cn.com/solution-static/509/509_fig1.gif) ``` class Solution: def fib(self, n: int) -> int: 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 ``` ## 出处 作者:力扣官方题解 链接:https://leetcode.cn/problems/fibonacci-number/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关文章
leetcode刷题|242. 有效的字母异位词
leetcode刷题|28. 找出字符串中第一个匹配项的下标
leetcode刷题|389. 找不同
leetcode刷题|1768. 交替合并字符串
评论
(暂无评论)
取消回复
发表评论
admin
谢谢各位的支持~
25
文章
0
评论
4
栏目
最新文章
Centos 8系统本地自建mysql仓库源报错汇总
Nmap扫描速度及扫描方式
Nmap的脚本引擎(NSE)的使用方法
Nmap工具下的端口扫描命令
Nmap命令的简介及常用命令语法
Centos下docker系统的安装和使用方法
leetcode刷题|242. 有效的字母异位词
leetcode刷题|28. 找出字符串中第一个匹配项的下标
leetcode刷题|389. 找不同
leetcode刷题|1768. 交替合并字符串
热门文章
Mysql数据库的查询操作(一)
0 评论
Mysql的基本操作
0 评论
Mysql数据库的查询操作(二)
0 评论
Mysql数据库的查询操作(三)
0 评论
Mysql数据库的查询操作(四)
0 评论
更多