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/

相关推荐
你真是饿了17 小时前
算法专题二:滑动窗口
算法
ccLianLian18 小时前
数论·约数
数据结构·算法
会编程的土豆18 小时前
【数据结构与算法】最短路径---Dijkstra 算法
数据结构·c++·算法
2401_8796938718 小时前
C++中的观察者模式实战
开发语言·c++·算法
炽烈小老头18 小时前
【 每天学习一点算法 2026/03/24】寻找峰值
学习·算法
fff98111818 小时前
C++与Qt图形开发
开发语言·c++·算法
计算机安禾18 小时前
【数据结构与算法】第3篇:C语言核心机制回顾(二):动态内存管理与typedef
c语言·开发语言·数据结构·c++·算法·链表·visual studio
njidf19 小时前
C++中的访问者模式
开发语言·c++·算法
C_Si沉思19 小时前
C++中的工厂模式变体
开发语言·c++·算法
C羊驼19 小时前
C语言学习笔记(十五):预处理
c语言·经验分享·笔记·学习·算法