LeetCode讲解篇之746. 使用最小花费爬楼梯
题目描述
题解思路
爬到第i层的最小花费 = min(爬到第i - 1层的最小花费 + 从第i - 1层向上爬的花费, 爬到第i - 2层的最小花费 + 从第i - 2层向上爬的花费)
设f[i]为爬到第i层的最小花费
则f[i] = min(f[i - 1] + cost[i - 1], f[i - 2] + cost[i - 2])
题解代码
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/
原文地址:https://blog.csdn.net/qq_67733273/article/details/142742578
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!