动态规划
# 不需要维护整个数组,只要维护前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