力扣-509 裴波那契数
题目描述
斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:
F(0) = 0,F(1) = 1
F(n) = F(n - 1) + F(n - 2),其中 n > 1
给你 n ,请计算 F(n) 。
示例
示例 1:
输入:2
输出:1
解释:F(2) = F(1) + F(0) = 1 + 0 = 1
示例 2:
输入:3
输出:2
解释:F(3) = F(2) + F(1) = 1 + 1 = 2
方法一:递推求解
class Solution {public:int fib(int n) {vector<int> f(31);f[0]=0;f[1]=1;for(int i=2;i<=n;i++) f[i]=f[i-1]+f[i-2];return f[n];}
};
复杂度分析:
- 时间复杂度:O(n),进行了一个循环
- 空间复杂度:O(n),创建了一个n大小的数组
方法二:递归求解
class Solution {public:int fib(int n) {if(n==0) return 0;if(n==1) return 1;return fib(n-1)+fib(n-2);}
};
复杂度分析:
- 时间复杂度:O(2^n),递归求解,时间长,如果n稍微大点就会超时了。
- 空间复杂度:O(n),经过n次压栈。
力扣-509 裴波那契数相关推荐
- 力扣算法 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
学习内容 力扣算法 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯 具体内容 509. 斐波那契数 斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 .该数列由 0 ...
- 【快乐水题】509. 斐波那契数
原题: 力扣链接:509. 斐波那契数 题目简述: 斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 .该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和.也就是: F( ...
- LeetCode-动态规划基础题-509. 斐波那契数
描述 题目如下: 509. 斐波那契数 斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 .该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和.也就是: F(0) = 0 ...
- D38| DP理论基础 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
DP理论基础 重要知识点: 1.动规和贪心的区别:动规是由前一个状态推导出来的,而贪心是局部直接选最优的 2.动规五部曲: 1)确定dp数组(dp table)以及下标的含义 2)确定递推公式 3)d ...
- 代码随想录算法训练营第三十八天 | 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯。
Leetcode 509. 斐波那契数 题目链接:509. 斐波那契数 class Solution {public:int fib(int n) {if(n <= 1)return n;int ...
- [leetcode]509. 斐波那契数
斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 .该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和.也就是: F(0) = 0,F(1) = 1 F(n) = F(n ...
- leetcode 509. 斐波那契数
方法一:递归 使用递归计算给定整数的斐波那契数. 效率最差但是最简单的方法,会重复计算,就不实现了. 方法二:记忆化自底向上的方法 方法三:自底向上进行迭代 方法四:矩阵求幂 public class ...
- leetcode 509. 斐波那契数(dfs)
斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 .该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和.也就是: F(0) = 0,F(1) = 1 F(n) = F(n ...
- leetcode 509. 斐波那契数(Fibonacci Number)
目录 题目描述: 示例 1: 示例 2: 示例 3: 解法: 题目描述: 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列.该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的 ...
- 509. 斐波那契数
斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列.该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和.也就是: F(0) = 0, F(1) = 1 F(N) = F(N ...
最新文章
- 用Spring的BeanUtils前,建议你先了解这几个坑!
- 经典论文复现 | 基于深度卷积网络的图像超分辨率算法
- Java虚拟机:深入详细分析Java ClassLoader原理与源码
- Python机器学习---2.聚类算法理论部分
- 预处理器sass_Sass — Web的预处理器装饰
- 2021安徽省高考成绩怎么查询系统,2021年安徽省教育招生考试院成绩查询登录入口...
- Android学习总结(1)——好的 Android 开发习惯
- android wear 同步应用,Android Wear发布 突出语音及同步功能
- django 指令 基于the django book
- Oracle 客户端连接server 的方法
- 【numpy】argmax参数辨析(axis=0,axis=1,axis=-1)
- 水氢发动机应该叫氢能发动机、铝水制氢发动机
- [Golang]解决Map的并发性问题:sync.Map
- 【hdu1018】Big Number(求n!的位数----斯大林公式/log函数)
- c语言必背100代码,C语言代码大全(c语言必背项目代码)
- javascript 字符串的排列与组合
- 计算机网络 信道复用技术
- 用python实现小说的平均句长,词性占比,关键词,标点符号,词形统计
- Hadoop之——重新格式化HDFS的方案
- jsp异常 The JSP specification requires that an attribute name is preceded by whitespace