LeetCode讲解篇之746. 使用最小花费爬楼梯

文章目录

题目描述

题解思路

爬到第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/

相关推荐
非优秀程序员1 小时前
第05章 播放器大战,暴风、快播与那一夜|《互联网产品恩仇录》
算法
文丑颜不良啊4 小时前
LeetCode2481~2500题目解析
java·leetcode
武子康8 小时前
驾驶轨迹换个坐标,就能给移动机器人用吗?
人工智能·算法·机器学习
文丑颜不良啊11 小时前
LeetCode2461~2480题目解析
java·leetcode
文丑颜不良啊12 小时前
LeetCode2441~2460题目解析
java·leetcode
文丑颜不良啊13 小时前
LeetCode2521~2540题目解析
java·leetcode
lisw0514 小时前
Dayhoff的PAM替换矩阵理论评介!
线性代数·算法·矩阵
一起学安全技术15 小时前
拆大模型 03|注意力的一句话版本:不用论文讲清 Attention
深度学习·算法·语言模型·transformer
Delightrs16 小时前
Rust LeetCode238 算法题解
开发语言·算法·rust