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 };