动态规划

# 不需要维护整个数组,只要维护前2步的花费,前1步花费,当前花费就可以了
class Solution:
    def minCostClimbingStairs(self , cost: List[int]) -> int:
        # 根据动态规划优化 
        a,b,ans = 0, 0, 0
        for i in range(2,len(cost) + 1):
            a, b = b, ans 
            ans = min(a+cost[i-2],b+cost[i-1])
        return ans