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/

相关推荐
祈祷苍天赐我java之术2 小时前
解析常见的限流算法
java·数据结构·算法
Shinom1ya_2 小时前
算法 day 34
算法
啊董dong2 小时前
课后作业-2025-10-26
c++·算法·noi
liu****2 小时前
1.模拟算法
开发语言·c++·算法·1024程序员节
小猪咪piggy2 小时前
【算法】day10 分治
数据结构·算法·排序算法
又是忙碌的一天2 小时前
算法学习 13
数据结构·学习·算法
June`2 小时前
前缀和算法:高效解决区间和问题
算法·1024程序员节
再卷也是菜2 小时前
算法基础篇(9)倍增与离散化
c++·算法
ゞ 正在缓冲99%…5 小时前
leetcode2826.将三个组排序
算法·leetcode·动态规划
尘觉6 小时前
面试-浅复制和深复制?怎样实现深复制详细解答
javascript·面试·职场和发展