题解 | #统计每个月兔子的总数# 多测例共同打表
统计每个月兔子的总数
http://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395
思路
暴力递归的话时间复杂度会升高,因为存在冗余计算。同样,不同的测例之间也存在冗余计算。其实只需要计算最大的那个测例的情况 因此使用一个全局vector作为打表对象
代码
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
vector<int> Feb;
int main(){
int N;
Feb.push_back(1);
Feb.push_back(1);
while(cin>>N){
while(Feb.size()<N){
Feb.push_back(Feb[Feb.size()-1]+Feb[Feb.size()-2]);
}
cout<<Feb[N-1]<<endl;
}
return 0;
}
