美文网首页
509. 斐波那契数

509. 斐波那契数

作者: spark打酱油 | 来源:发表于2022-08-07 15:59 被阅读0次

    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
    示例 3:

    输入:n = 4
    输出:3
    解释:F(4) = F(3) + F(2) = 2 + 1 = 3

    提示:

    0 <= n <= 30

    2.思路

    动态规划
    斐波那契数的边界条件是 F(0)=0,F(1)=1。当 n>1 时,每一项的和都等于前两项的和,因此有如下递推关系:
    F(n)=F(n-1)+F(n-2)
    F(n)=F(n−1)+F(n−2)
    由于斐波那契数存在递推关系

    3.代码

    object Solution {
      def fib(n: Int): Int = {
       if(n==0) return 0
       if(n==1) return 1
        return fib(n-1)+fib(n-2)
      }
    
    }
    

    4.复杂度

    复杂度分析

    • 时间复杂度:O(n)

    • 空间复杂度:O(1)

    相关文章

      网友评论

          本文标题:509. 斐波那契数

          本文链接:https://www.haomeiwen.com/subject/wvwbwrtx.html