剑指offer——08斐波那契数列

Posted zzw1024

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer——08斐波那契数列相关的知识,希望对你有一定的参考价值。

题目描述

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。

n<=39

 

有多种方法,简单的循环、递归、动态规划;

 1 class Solution01 {
 2 public:
 3     int Fibonacci(int n) {
 4         int a = 0, b = 1, c;
 5         for (int i = 2; i <= n; ++i)
 6         {
 7             c = a + b;
 8             a = b;
 9             b = c;
10         }
11         return n == 0 ? 0 : b;
12     }
13 };
14 
15 class Solution02 {
16 public:
17     int Fibonacci(int n) {
18         if (n <= 1)
19             return n;
20         return Fibonacci(n - 1) + Fibonacci(n - 2);
21     }
22 };
23 
24 class Solution03 {
25 public:
26     int Fibonacci(int n) {
27         if (n <= 1)
28             return n;
29         vector<int>dp(n + 1);
30         dp[0] = 0, dp[1] = 1;
31         for (int i = 2; i <= n; ++i)
32             dp[i] = dp[i - 1] + dp[i - 2];
33         return dp[n];
34     }
35 };

 

以上是关于剑指offer——08斐波那契数列的主要内容,如果未能解决你的问题,请参考以下文章

剑指 Offer 10- I. 斐波那契数列

剑指offer——08斐波那契数列

[剑指offer]面试题9:斐波那契数列

剑指 Offer 10- I. 斐波那契数列

剑指offer斐波那契数列python

[LeetCode]剑指 Offer 10- I. 斐波那契数列