From
Leetcode
Status
AC
Date
Apr 7, 2024
Tags
动态规划
Difficulty
简单
题面
给你一个整数数组
cost
,其中 cost[i]
是从楼梯第 i
个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。你可以选择从下标为
0
或下标为 1
的台阶开始爬楼梯。请你计算并返回达到楼梯顶部的最低花费。
示例 1:
示例 2:
提示:
2 <= cost.length <= 1000
0 <= cost[i] <= 999
思路
题意有点绕,理解如下:
设数组的长度为 n,一共有 n+1 个台阶,编号从 0 到 n。你需要从编号为 0 或 1 的台阶开始,向上爬到编号为 n 的台阶,并且每次只能爬一个或者两个台阶。从编号为 i 的台阶向上爬,需要支付 cost[i] 的花费。求爬到 n 的花费之和的最小值。
例如 cost=[10,15,20],表示有 0,1,2,3 四个台阶,起点为 0 或 1,终点为 3。从编号为 1 的台阶往上爬两个台阶就可以到达终点 3 了,对应的花费也最小,所以答案是 15。