给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。请你计算并返回达到楼梯顶部的最低花费。
方法一
var minCostClimbingStairs = function (cost) {
var dp = [0, 0]
const len = cost.length
for (var i = 2; i < len + 1; i++) {
dp[i] = Math.min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2])
}
return dp[len]
};
方法二
var minCostClimbingStairs = function (cost) {
var a = 0
var b = 0
var c
for (var i = 2; i < cost.length+1; i++) {
c = Math.min(a + cost[i - 2], b + cost[i - 1])
a = b
b = c
}
return b
};