当前位置:网站首页>509. 斐波那契数
509. 斐波那契数
2022-08-03 10:22:00 【有时候。】
1. 题目描述
斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:
F(0) = 0,F(1) = 1
F(n) = F(n - 1) + F(n - 2),其中 n > 1
给定 n ,请计算 F(n) 。
示例 1:
输入:n = 2
输出:1
解释:F(2) = F(1) + F(0) = 1 + 0 = 1
示例 2:
输入:n = 3
输出:2
解释:F(3) = F(2) + F(1) = 1 + 1 = 2
2. 解题思路
简单的动态规划,设定初始值,滚动求解下一项,直至目标项。
- python3
class Solution:
def fib(self, n: int) -> int:
if n == 0:
return 0
if n == 1:
return 1
first = 0
second = 1
for _ in range(2, n+1):
tmp = first + second
first = second
second = tmp
return second
- c++
class Solution {
public:
int fib(int n) {
int first = 0;
int second = 1;
if (n == 0) return 0;
if (n == 1) return 1;
int i = 2;
while (i <= n){
int tmp = first + second;
first = second;
second = tmp;
++i;
}
return second;
}
};
边栏推荐
猜你喜欢
随机推荐
MySQL中tinytext、text、mediumtext和longtext等各个类型详解[通俗易懂]
Scrapy + Selenium 实现模拟登录,获取页面动态加载数据
消费者认可度较高 地理标志农产品为啥“香”
按位取反怎么运算_按位取反运算
Mysql OCP 30题
对话 | AI、机器学习在材料科学研究中能发挥哪些作用?
机器学习(公式推导与代码实现)--sklearn机器学习库
被审稿人吐槽没有novelty!深度学习方向怎么找创新点?
Go Redis database operation
Mysql OCP 75 questions
oracle中的rownum函数
Scrapy + Selenium implements simulated login and obtains dynamic page loading data
OS层面包重组失败过高,数据库层面gc lost 频繁
Recursive training
Mysql OCP 29题
Redis实现分布式锁
Leecode-SQL 1667. 修复表中的名字
HCIP第十七天笔记
js中最简单base64图片流实现自动下载
Mysql OCP 72 questions









