题目
给你一个整数数组
cost
,其中cost[i]
是从楼梯第i
个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。你可以选择从下标为
0
或下标为1
的台阶开始爬楼梯。请你计算并返回达到楼梯顶部的最低花费。
解题思路
- 到台阶n的最小花费为n - 1 和 n - 2中的最小花费加上自身;
代码展示
class Solution { public int minCostClimbingStairs(int[] cost) { for (int i = 2; i < cost.length; i++){ cost[i] += Math.min( cost[i - 1], cost[i - 2]); } return Math.min(cost[cost.length - 1], cost[cost.length - 2]); } }