题解 | N阶楼梯上楼问题

N阶楼梯上楼问题

https://www.nowcoder.com/practice/c978e3375b404d598f1808e4f89ac551

#include <iostream>
using namespace std;

int main() {
    int dp[90] = {0}; //记录中间状态
    //店铺[i]表示到第i级台阶的方案数
    dp[1] = 1;
    dp[2] = 2;
    int n;
    scanf("%d", &n);
    for (int i = 3; i <= n; i++) {
        dp[i] = dp[i - 1] + dp[i - 2];
    }
    printf("%d\n", dp[n]);
    return 0;

}
// 64 位输出请用 printf("%lld")

动态规划 空间换时间 文章被收录于专栏

动态规划通常用于求解最优解问题, 动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干子问题,先求解子问题, 然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题, 经分解得到的子问题往往不是互相独立的。

全部评论

相关推荐

程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务