LeetCode 746. Min Cost Climbing Stairs (使用最小花费爬楼梯)

Posted jimmycheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 746. Min Cost Climbing Stairs (使用最小花费爬楼梯)相关的知识,希望对你有一定的参考价值。

题目标签:Dynamic Programming

  题目给了我们一组 cost,让我们用最小的cost 走完楼梯,可以从index 0 或者 index 1 出发。

  因为每次可以选择走一步,还是走两步,这里用 dynamic, 从index 2 (第三格楼梯开始) 计算每一个楼梯,到达需要用的最小cost。

  在每一个楼梯,只需要计算 从前面2格楼梯过来的cost, 和 从前面1格楼梯过来的 cost,哪个小。就选哪个叠加自己的cost。最后 index = len 的地方就是走到top 所用的最小cost。

 

Java Solution:

Runtime:  1 ms, faster than 99.86% 

Memory Usage: 37.9 MB, less than 92.86%

完成日期:08/15/2019

关键点:dynamic programming

class Solution 
    public int minCostClimbingStairs(int[] cost) 
        int len = cost.length;
        int [] mc = new int[len + 1];
        
        // base cases
        mc[0] = cost[0];
        mc[1] = cost[1];
        
        
        for(int i = 2; i <= len; i++) 
            int c = i == len ? 0 : cost[i];
            mc[i] = Math.min(mc[i-1] + c, mc[i-2] + c);
        
        
        return mc[len];
    

参考资料:LeetCode discuss

LeetCode 题目列表 - LeetCode Questions List

题目来源:https://leetcode.com/

以上是关于LeetCode 746. Min Cost Climbing Stairs (使用最小花费爬楼梯)的主要内容,如果未能解决你的问题,请参考以下文章

leetcode-746-Min Cost Climbing Stairs(动态规划)

LeetCode 746. Min Cost Climbing Stairs (使用最小花费爬楼梯)

Leetcode 746. Min Cost Climbing Stairs 最小成本爬楼梯 (动态规划)

746. Min Cost Climbing Stairs

leetcode746

746. Min Cost Climbing Stairs