解题思路参照: https://blog.nowcoder.net/n/6ac85049039b44a59727d44251bde7fb
class Solution:
def minCostClimbingStairs(self , cost: List[int]) -> int:
# dp[i]表示爬到第i阶楼梯需要的最小花费
dp = [0 for i in range(len(cost) + 1)]
for i in range(2, len(cost) + 1):
# 每次选取最小的方案
dp[i] = min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2])
return dp[len(cost)] # 返回dp数组的最后个元素