斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:
F(0) = 0, F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
给定 N,计算 F(N)。
动态规划,注意是从0开始,然后判断输入为0的情况。
1 class Solution { 2 public: 3 int fib(int N) { 4 int dp[N+1]; 5 if(!N) return 0; 6 7 dp[0]=0; 8 dp[1]=1; 9 for(int i=2;i<N+1;++i){ 10 dp[i]=dp[i-1]+dp[i-2]; 11 } 12 return dp[N]; 13 } 14 };