美文网首页
LeetCode_509_斐波那契数列_hn

LeetCode_509_斐波那契数列_hn

作者: 1只特立独行的猪 | 来源:发表于2020-03-05 19:23 被阅读0次

    题目描述

    斐波那契数,通常用 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.
    

    示例 3:

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

    解答方法

    方法一:迭代法

    代码

    class Solution:
        def fib(self, N: int) -> int:
            a = 0
            b = 1
            if N==0:
                return 0
            else:
                for i in range(N):
                    a, b = b, a+b
                return a
    

    时间复杂度

    空间复杂度

    提交结果

    Runtime: 32 ms, faster than 90.62% of Python3 online submissions for Fibonacci Number.
    Memory Usage: 13.8 MB, less than 5.80% of Python3 online submissions for Fibonacci Number.

    方法二:递归

    代码

        def fib(self, N: int) -> int:
            if N==0:
                return 0
            if N==1:
                return 1
            return self.fib(N-1) + self.fib(N-2)
    

    时间复杂度

    空间复杂度

    提交结果

    Runtime: 1164 ms, faster than 12.80% of Python3 online submissions for Fibonacci Number.
    Memory Usage: 13.6 MB, less than 5.80% of Python3 online submissions for Fibonacci Number.

    方法三:动态规划

    方法四:矩阵

    相关文章

      网友评论

          本文标题:LeetCode_509_斐波那契数列_hn

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