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/

相关推荐
TracyCoder1235 小时前
LeetCode Hot100(15/100)——54. 螺旋矩阵
算法·leetcode·矩阵
u0109272716 小时前
C++中的策略模式变体
开发语言·c++·算法
2501_941837266 小时前
停车场车辆检测与识别系统-YOLOv26算法改进与应用分析
算法·yolo
六义义7 小时前
java基础十二
java·数据结构·算法
四维碎片7 小时前
QSettings + INI 笔记
笔记·qt·算法
Tansmjs7 小时前
C++与GPU计算(CUDA)
开发语言·c++·算法
独自破碎E8 小时前
【优先级队列】主持人调度(二)
算法
weixin_445476689 小时前
leetCode每日一题——边反转的最小成本
算法·leetcode·职场和发展
打工的小王9 小时前
LeetCode Hot100(一)二分查找
算法·leetcode·职场和发展
Swift社区9 小时前
LeetCode 385 迷你语法分析器
算法·leetcode·职场和发展