2019-10-24

今天先贴代码

暴力递归和有记忆递归,明天看动态规划!

1、暴力的递归

1 class Solution {
2 public:
3     int fib(int N) {
4         if(N==0)return 0;
5         if(N==1)return 1;
6         return fib(N-1)+fib(N-2);
7     }
8 };

2、有记忆递归

 1 //直接递归,重复算很多数字
 2 //申请数组,从底层往上算
 3 class Solution {
 4 public:
 5     int fib(int N) {
 6         if(N==0) return 0;
 7         else if(N==1) return 1;
 8         else{
 9          vector<int>a(N+1,0);
10          a[1]=1;
11         for(int i=2;i<=N;i++){
12             a[i]=a[i-1]+a[i-2];
13         }
14         return a[N];
15         }
16         
17     }
18 };