使用最小花费爬楼梯
注意提示:下标至少为 2。
动态规划
function minCostClimbingStairs(cost: number[]): number {
const n = cost.length
// 初始化状态
let p = 0, q = 0
for (let i = 2; i <= n; i++) {
// 状态转移
const min = Math.min(cost[i - 1] + q, cost[i - 2] + p)
p = q
q = min
}
return q
}