使用最小花费爬楼梯(java实现)
力扣 746 使用最小花费爬楼梯
题目说明
数组的每个索引作为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i] (索引从0开始)。
每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。
您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。
示例
例1
1 | 输入: cost = [10, 15, 20] |
例2
1 | 输入: cost = [1, 100, 1, 1, 1, 100, 1, 1, 100, 1] |
笔者理解
此题是一道走楼梯算法问题,在力扣题库中被定义为简单题。
解法
当笔者看见此题时,上台阶步骤可选择且为求最少消耗体力,笔者一下子就想到了动态规划法,就让我们看看具体如何实现吧。
1 | public int minCostClimbingStairs(int[] cost) { |
时间和空间效率都较高,可见此解法非常适合此题;
总结
本题是今天的每日一题,难度只有简单,感兴趣的朋友都可以去尝试一下,此题还有其他更多的解法,朋友们可以自己逐一尝试。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 徐年の博客!







