前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode 爬楼梯(动态规划题解)

LeetCode 爬楼梯(动态规划题解)

作者头像
用户11039529
发布2024-03-25 15:36:16
500
发布2024-03-25 15:36:16
举报
文章被收录于专栏:算法学习日常算法学习日常

题目链接:

https://leetcode.cn/problems/climbing-stairs/

资源:

关于动态规划和贪心算法的区别,动态规划的常见题型,我总结了一些(还有文档哦),大家可移步至:动态规划基础知识点(包含文档)-CSDN博客

AC代码:

代码语言:javascript
复制
//动态规划基础题
//dp,i,公式,初始化,遍历顺序,打印

//关键:想清楚为啥给出2,3这两种情况的答案
//再加上自己分析出来n=4时,方案数为:5 = 2 + 3;
//                   5            8   5   3
//答案问的是方案数,就考虑方案数的关系

/*!!!!为什么该题只和前两阶有关系:因为它只能迈1阶或者2阶,第4阶只能从2阶和3阶迈上来!!!!!*/

int climbStairs(int n) 
{
    if (n == 1)
        return 1;

    //dp:存放到达第i层的方案总数
    int dp[46] = { 0 }, i;

    /*法一:从起点开始初始化*/
    dp[0] = 1;/*注意是1,不是0,因为dp[2] = 2,要统一公式*/
    dp[1] = 1;
    for (i = 2; i <= n; i++)
    {
        dp[i] = dp[i-1] + dp[i-2];
    }  、
    /*法二:不管起点,直接初始化1,2,因为题目n的数据从1开始dp[0]是没有定义的*/
    return dp[n];
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目链接:
  • 资源:
  • AC代码:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档