题解 | N阶楼梯上楼问题

#include <bits/stdc++.h>
using namespace std;

const int N=100;
int a[N];

int main(){
    int n;
    memset(a,0,sizeof(a));
    while(cin>>n){
        a[1]=1;
        a[2]=2;
        for(int i=3;i<=n;i++){
            if(i>n)break;
            a[i]=a[i-1]+a[i-2];
        }
        cout<<a[n]<<endl;
    }
}

动态规划问题,思路上和搜索和递归其实是一样的,本质上是一种暴力的搜索,搜索的 状态函数是a[i]=a[i-1]+a[i-2],就是根据前面的结果得到新的结果,就得到了上述代码,然后这题可以优化空间为o1#大学最后一个寒假,我想……#

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务