#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param cost int整型一维数组 
# @return int整型
#
class Solution:
    def minCostClimbingStairs(self , cost: List[int]) -> int:
        # 递归算法
        # 生成数组记录,dp[i]表示爬到第i层楼梯的最小花费
        dp = [0]*(len(cost)+1)
        print(dp)
        # 遍历:每次选择最小方案(可以选择爬一层楼梯,或者爬两层楼梯)
        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)]