LeetCode-509-斐波那契数
斐波那契数
题目描述:斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:
- F(0) = 0,F(1) = 1
- F(n) = F(n - 1) + F(n - 2),其中 n > 1
给你 n ,请计算 F(n) 。
示例说明请见LeetCode官网。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/fibonacci-number/
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解法一:递归法
当n小于2时,直接返回n,当n大于2时,通过公式
F(n) = F(n - 1) + F(n - 2)
递归调用当前方法并返回。
解法二:迭代法
当n小于2时,直接返回你,当n大于2时,通过迭代的方式计算当前值,具体过程如下:
- 记录当前的值的前2位的值是lastSecond,记录当前的值的前1位的值是lastOne;
- 然后从2开始遍历,一直到n;
- 具体过程是将lastOne更新为
lastSecond + lastOne
,lastSecond更新为 之前的值;最后返回lastOne的值即为当前值。
/*** @Author: ck* @Date: 2021/10/3 10:33 上午*/
public class LeetCode_509 {/*** 递归** @param n* @return*/public static int fib(int n) {if (n < 2) {return n;}return fib(n - 1) + fib(n - 2);}/*** 迭代** @param n* @return*/public static int fib2(int n) {if (n < 2) {return n;}int lastOne = 1, lastSecond = 0;for (int i = 2; i <= n; i++) {int temp = lastSecond + lastOne;lastSecond = lastOne;lastOne = temp;}return lastOne;}public static void main(String[] args) {System.out.println(fib(4));System.out.println(fib2(4));}
}
【每日寄语】 把机遇留给朋友,把幸运留给亲人,把勤奋留给自己。
LeetCode-509-斐波那契数相关推荐
- [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 开始,后面的每一项数字都是前面两项数字的 ...
- leetcode 509. 斐波那契数(Java版)
题目 https://leetcode-cn.com/problems/fibonacci-number/ 题解 递归解法 class Solution {public int fib(int n) ...
- 代码随想录算法训练营第三十八天 | 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯。
Leetcode 509. 斐波那契数 题目链接:509. 斐波那契数 class Solution {public:int fib(int n) {if(n <= 1)return n;int ...
- LeetCode-动态规划基础题-509. 斐波那契数
描述 题目如下: 509. 斐波那契数 斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 .该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和.也就是: F(0) = 0 ...
- 【快乐水题】509. 斐波那契数
原题: 力扣链接:509. 斐波那契数 题目简述: 斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 .该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和.也就是: F( ...
- D38| DP理论基础 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
DP理论基础 重要知识点: 1.动规和贪心的区别:动规是由前一个状态推导出来的,而贪心是局部直接选最优的 2.动规五部曲: 1)确定dp数组(dp table)以及下标的含义 2)确定递推公式 3)d ...
- 力扣算法 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
学习内容 力扣算法 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯 具体内容 509. 斐波那契数 斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 .该数列由 0 ...
最新文章
- 微软(MICROSOFT)试用版企业软件下载地址
- 针对 AlloyFinger 中 currentTarget为空的解决方案
- Git 2.20的重大更新:侧重可用性和性能
- jquery之行自加自减
- HashMap 与 HashTable的区别
- meta viewport相关
- yii1.0性能调优之改善并发数
- 音乐计算机融合课,融合信息技术的音乐课
- 7-5 公路村村通 (30 分)(C语言实现)
- 源导航V1.0-集网址、资源、资讯于一体的导航系统
- php jwt payload,php实现jwt
- 【动态规划】牛客网:把数字翻译成字符串
- ppt复制切片器_切片器? 听说比筛选好用100倍
- 关于OpenGL游戏全屏模式的设置
- 博弈:唯冠和苹果的iPad商标案之争
- 1.1Vue安装以及使用(node安装)
- 华为系统wifi服务器失败是怎么回事儿,wifi 用云服务器异常
- Oracle查询表空间
- Flink入门系列05-时间语义
- 2021年西式面点师(高级)新版试题及涵盖考试最全题库免费练习