[2021校招必看之Java版《剑指offer》-35] 斐波那契数列

文章目录

  • 1、题目描述
  • 2、解题思路
    • 2.1 递归法
    • 2.2 迭代法
  • 3、解题代码
    • 3.1 递归法
    • 3.2 迭代法
  • 4、解题心得

1、题目描述

  【JZ7】大家都知道斐波那契数列,现在要求输入一个整数 n ,请你输出斐波那契数列的第 n 项(从0开始,第0项为0,第1项是1)。n<=39
  知识点:递归,记忆递归,动态规划,递推
  难度:☆

2、解题思路

2.1 递归法

  本题是一类题目的入门知识点,掌握了本题的思路,往后很多题都可以按照本题的思路求解。
  斐波那契数列的特点是:F(1) = F(2) = 1,n>2时,F(n) = F(n-1) + F(n-2)。
  已知F(n)和前面项的关系,直接递归求解即可。递归是从后向前倒推的解法。

2.2 迭代法

  递归的缺点就是存在大量的重复计算,比如:F(8) = F(7) + F(6),其中 F(7) 计算了 F(5) , F(6) 也计算了 F(5) ,更不要说其中包含了大量的重复计算。

你可能感兴趣的:(剑指offer(Java语言),leetcode,算法,动态规划,java,剑指offer)