解题思路参照: 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数组的最后个元素