7.使用最小花费爬楼梯

19. 使用最小花费爬楼梯

https://leetcode-cn.com/problems/min-cost-climbing-stairs/

题解来源: 代码随想录

https://programmercarl.com/0746.使用最小花费爬楼梯.html

class Solution {
    public int minCostClimbingStairs(int[] cost) {
       if (cost == null) {
           return 0;
       }
       int n = cost.length;
       if(n == 1) {
           return cost[0];
       }
    //    dp[i] 代表上到第i个阶梯所需的最小花费
       int[] dp = new int[n];
       dp[0] = cost[0];
       dp[1] = cost[1];
       for (int i = 2 ; i < n; i++) {
        //    可以从第 i - 1 或者第 i - 2步到达阶梯顶
           dp[i] = Math.min(dp[i - 1],dp[i - 2]) + cost[i];
        }
        return Math.min(dp[n - 1], dp[n - 2]);
    }
}

2021.12.21 21.26

上一篇:【机器学习算法】支持向量机入门教程及相关数学推导


下一篇:[学习笔记]Min-Max容斥