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/

相关推荐
BieberChen28 分钟前
匈牙利匹配算法 (Hungarian Algorithm) 详解
算法
春栀怡铃声36 分钟前
常考排序的梳理
数据结构·算法·排序算法
第二只羽毛37 分钟前
第六章 图
大数据·数据结构·算法·深度优先·图论·广度优先·宽度优先
csuzhucong1 小时前
puzzle(1052)仙人指路
算法
XiYang-DING2 小时前
【LeetCode】链表 + 快慢指针找中间 + 反转链表 | 2130. 链表最大孪生和
算法·leetcode·链表
Charlie_lll2 小时前
力扣解题-67. 二进制求和
算法·leetcode·职场和发展
Yzzz-F2 小时前
GYM106247B[数论 构造一个数字和因子 使得等于n个因子之和=数字]
算法
重庆小透明2 小时前
【java基础内容】ArrayList与LinkedList的区别及ArrayList源码解析
java·开发语言·后端·面试·职场和发展
程序员三藏2 小时前
软件测试:白盒测试详解
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例