LintCode 366 [Fibonacci]

作者: Jason_Yuan | 来源:发表于2016-08-18 14:11 被阅读55次

原题

查找斐波纳契数列中第 N 个数。
所谓的斐波纳契数列是指:
前2个数是 0 和 1 。
i 个数是第 i-1 个数和第i-2 个数的和。

斐波纳契数列的前10个数字是:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...

样例
给定 1,返回 0
给定 2,返回 1
给定 10,返回 34

解题思路

  • 方法一: 递归求解
  • 方法二:动态规划 - 记忆化搜索

完整代码

# Method 1
class Solution:
    # @param n: an integer
    # @return an integer f(n)
    def fibonacci(self, n):
        if n == 1:
            return 0
        elif n == 2 or n == 3:
            return 1
        else:
            return self.fibonacci(n - 1) + self.fibonacci(n - 2)

# Method 2
class Solution:
    # @param n: an integer
    # @return an integer f(n)
    def fibonacci(self, n):
        T = [None] * (n+1)   # T = [None, None, None, None ......]
        T[0] = 0
        T[1] = 1
        for i in range (2, n+1):
            T[i] = T[i-1] + T[i-2]
        return T[n-1]

相关文章

  • LintCode 366 [Fibonacci]

    原题 查找斐波纳契数列中第 N 个数。所谓的斐波纳契数列是指:前2个数是 0 和 1 。第 i 个数是第 i-1 ...

  • Lintcode366 Fibonacci solution 题

    【题目描述】 Find theNth number in Fibonacci sequence. A Fibona...

  • 366. Fibonacci

    [ http://www.lintcode.com/en/problem/fibonacci/ ]

  • 斐波那契数列

    问题描述 https://www.lintcode.com/problem/fibonacci/descripti...

  • Lintcode Naive题

    366 Fibonacci 题目最初、最容易想到的解法是利用递归,即(fibonacci(n-1) + fibon...

  • Fibonacci

    题目链接:Fibonacci In mathematics, the Fibonacci numbers are ...

  • 二分之求Fibonacci

    Fibonacci介绍 Fibonacci定义: 二分矩阵求Fibonacci 项目地址:github/Divid...

  • 有趣的斐波那契数列

    Math day 5:Fibonacci Sequence Fibonacci Sequence and Musi...

  • 程序员常用的刷题网站

    1、Lintcode Lintcode.com——LintCode网站是国内较大的在线编程&测评网站。此网站提供各...

  • Singleton

    lintcode: http://lintcode.com/en/problem/singleton/ Java ...

网友评论

    本文标题:LintCode 366 [Fibonacci]

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