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])

题解代码

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/

相关推荐
.格子衫.16 小时前
030动态规划之树形DP——算法备赛
算法·动态规划
胡萝卜不甜16 小时前
算法宗门--冒泡排序(“懒”到极致的算法)
算法
charliejohn17 小时前
计算机考研 408 数据结构 中缀转后缀
数据结构·考研·算法
lifallen17 小时前
后缀数组 (Suffix Array)
java·数据结构·算法
仰泳的熊猫17 小时前
题目1523:蓝桥杯算法提高VIP-打水问题
数据结构·c++·算法·蓝桥杯
踩坑记录17 小时前
leetcode hot100 46. 全排列 medium 递归回溯 dfs
leetcode·深度优先
汉克老师17 小时前
GESP2024年3月认证C++二级( 第三部分编程题(1) 乘法问题)
c++·算法·循环结构·gesp二级·gesp2级
juleskk17 小时前
2.18复试训练
算法
tankeven17 小时前
HJ94 记票统计
c++·算法
逆境不可逃17 小时前
LeetCode 热题 100 之 76.最小覆盖子串
java·算法·leetcode·职场和发展·滑动窗口