文章目录
题目描述

题解思路
爬到第i层的最小花费 = min(爬到第i - 1层的最小花费 + 从第i - 1层向上爬的花费, 爬到第i - 2层的最小花费 + 从第i - 2层向上爬的花费)
设fi为爬到第i层的最小花费
则fi = min(fi - 1 + costi - 1, fi - 2 + costi - 2)
题解代码
go
func minCostClimbingStairs(cost []int) int {
// i - 2层的最小花费a i - 1层的最小花费b
a, b := 0, min(cost[0], cost[1])
for i := 2; i < len(cost); i++ {
a, b = b, min(b + cost[i], a + cost[i - 1])
}
return b
}
题目链接
https://leetcode.cn/problems/min-cost-climbing-stairs/description/