leetcode 746 使用最小花费爬楼梯

简介: leetcode 746 使用最小花费爬楼梯

使用最小花费爬楼梯


47e9332560ee47fc89b4d7dd97692746.png花最少的钱爬到楼顶

cost是在每一阶台阶,往上走的成本。


dp[i]的定义:到达第i个台阶所花费的最少体力为dp[i]。

可以有两个途径得到dp[i],一个是dp[i-1] 一个是dp[i-2]。因为最多走两步

即从 i-1台阶,花费cost(i-1) 到 i ;和 i-2台阶,花费cost(i-2) 到 i


dp数组如何初始化

dp[i]由dp[i-1],dp[i-2]推出,既然初始化所有的dp[i]是不可能的,那么只初始化dp[0]和dp[1]就够了,其他的最终都是dp[0]dp[1]推出。

class Solution {
public:
    int minCostClimbingStairs(vector<int>& cost) {
        vector<int> dp(cost.size()+1); //要到楼顶,要比台阶数多一个
        dp[0] = 0; //从初始到第0个台阶,和第1个台阶花钱
        dp[1] = 0;
        for(int i=2 ; i<dp.size() ; i++) //从第二个台阶开始计算最小的成本
        {
            dp[i] = min(dp[i-2]+cost[i-2] , dp[i-1]+cost[i-1]);
        }
        return dp[cost.size()]; //到比台阶多一级,即到楼顶的最小成本
    }
};

二刷

class Solution {
public:
    int minCostClimbingStairs(vector<int>& cost) {
        if(cost.size() == 2) return min(cost[0] , cost[1]);
        vector<int> dp(cost.size()+1,0);
        for(int i=2 ; i<=cost.size() ;i++)
        {
            dp[i] = min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
        }
        return dp[cost.size()];
    }
};
相关文章
|
SQL
leetcode-SQL-1741. 查找每个员工花费的总时间
leetcode-SQL-1741. 查找每个员工花费的总时间
203 0
leetcode746使用最小花费爬楼梯刷题打卡
leetcode746使用最小花费爬楼梯刷题打卡
190 0
【Leetcode -746.使用最小花费爬楼梯 -747.至少是其他数字两倍的最大数】
【Leetcode -746.使用最小花费爬楼梯 -747.至少是其他数字两倍的最大数】
278 0
动态规划之使用最小花费爬楼梯【LeetCode】
动态规划之使用最小花费爬楼梯【LeetCode】
187 2
leetcode代码记录(使用最小花费爬楼梯
leetcode代码记录(使用最小花费爬楼梯
142 0
|
Java 索引
leetcode-746:使用最小花费爬楼梯
leetcode-746:使用最小花费爬楼梯
150 0
|
算法
代码随想录算法训练营第三十八天 | LeetCode 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
代码随想录算法训练营第三十八天 | LeetCode 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
241 0
|
Python
LeetCode 746. 使用最小花费爬楼梯
数组的每个下标作为一个阶梯,第 i 个阶梯对应着一个非负数的体力花费值 cost[i](下标从 0 开始)。
254 0
代码随想录刷题|动态规划理论基础 LeetCode 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯(下)
代码随想录刷题|动态规划理论基础 LeetCode 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
代码随想录刷题|动态规划理论基础 LeetCode 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯(下)
|
存储 算法 编译器
代码随想录刷题|动态规划理论基础 LeetCode 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯(上)
代码随想录刷题|动态规划理论基础 LeetCode 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
代码随想录刷题|动态规划理论基础 LeetCode 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯(上)

热门文章

最新文章