力扣 -- 746. 使用最小花费爬楼梯

这篇具有很好参考价值的文章主要介绍了力扣 -- 746. 使用最小花费爬楼梯。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

力扣 -- 746. 使用最小花费爬楼梯

题目链接:746. 使用最小花费爬楼梯 - 力扣(LeetCode) 

先分析题目:

力扣 -- 746. 使用最小花费爬楼梯

 

这是一道动态规划的题,我们可以根据动态规划五部曲分析解答这道题。

力扣 -- 746. 使用最小花费爬楼梯

力扣 -- 746. 使用最小花费爬楼梯

 力扣 -- 746. 使用最小花费爬楼梯

参考代码:

class Solution {
public:
    int minCostClimbingStairs(vector<int>& cost) {
        
        int n = cost.size();

        //由于我们要返回的是dp[n],所以需要开n+1个空间的dp表(数组)
        vector<int> dp(n+1);

        //填表前需要先初始化dp[0],dp[1]的值,以免填表时越界
        dp[0]=dp[1]=0;

        int i=0;
        //dp[0],dp[1]已经填好了,所以dp表可以从i=2位置开始填
        //记得i一定要取等于n,因为dp[n]才是到达楼顶的最低费用
        for(i=2;i<=n;i++)
        {
            //状态转移方程,取最近一步到达dp[i]位置的两种途径的最小值
            dp[i]=min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
        }

        //最后返回dp[n]即可
        return dp[n];
    }
};

         这个动态规划的题难就难在分析上,如果能把它分析清楚,代码写起来就几行,如果没有画图分析,就算给你代码真的也不一定能看懂。

        好了,以上就是这道动态规划的解题过程,希望对你有所帮助,如果感觉到有所收获的话,那就点点小心心点点关注呗,后期还会持续更新相关的动态规划的题目哦,我们下期不见不散!!!文章来源地址https://www.toymoban.com/news/detail-504435.html

到了这里,关于力扣 -- 746. 使用最小花费爬楼梯的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包