LEETCODE | PYTHON | 746 | 使用最小花费爬楼梯
1. 题目
给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。
你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。
请你计算并返回达到楼梯顶部的最低花费。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/min-cost-climbing-stairs
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 代码
class Solution:
def minCostClimbingStairs(self, cost: List[int]) -> int:
# 初始化
dp = [0 for i in range(len(cost))]
# 动态规划
dp[0] = cost[0]
dp[1] = cost[1]
for i in range(2,len(cost)):
dp[i] = min(dp[i-1],dp[i-2])+cost[i]
return min(dp[-1],dp[-2])