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

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


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


先分析题目:



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





参考代码:


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];
    }
};


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

相关文章
|
1天前
leetcode746使用最小花费爬楼梯刷题打卡
leetcode746使用最小花费爬楼梯刷题打卡
15 0
|
7月前
【Leetcode -746.使用最小花费爬楼梯 -747.至少是其他数字两倍的最大数】
【Leetcode -746.使用最小花费爬楼梯 -747.至少是其他数字两倍的最大数】
48 0
|
1天前
leetcode代码记录(使用最小花费爬楼梯
leetcode代码记录(使用最小花费爬楼梯
10 0
动态规划|【斐波那契数列模型 】|746.使用最小花费爬楼梯
动态规划|【斐波那契数列模型 】|746.使用最小花费爬楼梯
|
1天前
动态规划之使用最小花费爬楼梯【LeetCode】
动态规划之使用最小花费爬楼梯【LeetCode】
|
1天前
代码随想录Day32 动态规划01 LeetCodeT509 斐波那契数列 T70 爬楼梯 T746 爬楼梯的最小消耗
代码随想录Day32 动态规划01 LeetCodeT509 斐波那契数列 T70 爬楼梯 T746 爬楼梯的最小消耗
37 0
|
1天前
|
Java 索引
leetcode-746:使用最小花费爬楼梯
leetcode-746:使用最小花费爬楼梯
22 0
|
9月前
|
测试技术
动态规划之使用最小花费爬楼梯
动态规划之使用最小花费爬楼梯
|
10月前
|
算法
【学会动态规划】使用最小花费爬楼梯(3)
【学会动态规划】使用最小花费爬楼梯(3)
77 1
leetcode每日一题:746. 使用最小花费爬楼梯
leetcode每日一题:746. 使用最小花费爬楼梯