斐波那契数

题目描述:斐波那契数,通常用 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 + lastOnelastSecond更新为 之前的值

最后返回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-斐波那契数相关推荐

  1. [leetcode]509. 斐波那契数

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

  2. leetcode 509. 斐波那契数

    方法一:递归 使用递归计算给定整数的斐波那契数. 效率最差但是最简单的方法,会重复计算,就不实现了. 方法二:记忆化自底向上的方法 方法三:自底向上进行迭代 方法四:矩阵求幂 public class ...

  3. leetcode 509. 斐波那契数(dfs)

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

  4. leetcode 509. 斐波那契数(Fibonacci Number)

    目录 题目描述: 示例 1: 示例 2: 示例 3: 解法: 题目描述: 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列.该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的 ...

  5. leetcode 509. 斐波那契数(Java版)

    题目 https://leetcode-cn.com/problems/fibonacci-number/ 题解 递归解法 class Solution {public int fib(int n) ...

  6. 代码随想录算法训练营第三十八天 | 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯。

    Leetcode 509. 斐波那契数 题目链接:509. 斐波那契数 class Solution {public:int fib(int n) {if(n <= 1)return n;int ...

  7. LeetCode-动态规划基础题-509. 斐波那契数

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

  8. 【快乐水题】509. 斐波那契数

    原题: 力扣链接:509. 斐波那契数 题目简述: 斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 .该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和.也就是: F( ...

  9. D38| DP理论基础 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯

    DP理论基础 重要知识点: 1.动规和贪心的区别:动规是由前一个状态推导出来的,而贪心是局部直接选最优的 2.动规五部曲: 1)确定dp数组(dp table)以及下标的含义 2)确定递推公式 3)d ...

  10. 力扣算法 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯

    学习内容 力扣算法 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯 具体内容 509. 斐波那契数 斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 .该数列由 0 ...

最新文章

  1. 微软(MICROSOFT)试用版企业软件下载地址
  2. 针对 AlloyFinger 中 currentTarget为空的解决方案
  3. Git 2.20的重大更新:侧重可用性和性能
  4. jquery之行自加自减
  5. HashMap 与 HashTable的区别
  6. meta viewport相关
  7. yii1.0性能调优之改善并发数
  8. 音乐计算机融合课,融合信息技术的音乐课
  9. 7-5 公路村村通 (30 分)(C语言实现)
  10. 源导航V1.0-集网址、资源、资讯于一体的导航系统
  11. php jwt payload,php实现jwt
  12. 【动态规划】牛客网:把数字翻译成字符串
  13. ppt复制切片器_切片器? 听说比筛选好用100倍
  14. 关于OpenGL游戏全屏模式的设置
  15. 博弈:唯冠和苹果的iPad商标案之争
  16. 1.1Vue安装以及使用(node安装)
  17. 华为系统wifi服务器失败是怎么回事儿,wifi 用云服务器异常
  18. Oracle查询表空间
  19. Flink入门系列05-时间语义
  20. 2021年西式面点师(高级)新版试题及涵盖考试最全题库免费练习

热门文章

  1. linux查看服务器相关统计数据
  2. 理解WebSocket
  3. Java匹配正则表达式大全
  4. 解决代理服务器拒绝连接问题,浏览器连不上网怎么办???
  5. android 图片轮播圆点,简单的图片轮播 加小圆点
  6. 大学生用笔记本电脑哪一款比较好2022
  7. 哈工大C语言程序设计精髓-拆分英文名
  8. 共享移动智能办公入口 钉钉10亿加速企业数字化和智能化
  9. 微信小程序跳转到拨打电话功能实现
  10. 如何把20秒熊本熊GIF图发送给微信好友