动态规划方法
#include <bits/stdc++.h>
using namespace std;
int fb(int n);
int main (){
int n;
cin >> n;
cout << fb(n);
}
int fb(int n){
if(n == 0){
return 0;
}
if(n == 1){
return 1;
}
vector<int> dp(n+1 , 0);
for(int i = 2; i < n+1; i++){
dp[0] = 0;
dp[1] = 1;
dp[i] = dp[i - 1] + dp[i - 2];
}
return dp[n];
}
使用一个动态数组来存储值,利用历史记录,来避免我们的重复计算