LeetCode #746. Min Cost Climbing Stairs

题目

746. Min Cost Climbing Stairs


解题方法

这是一道典型的动态规划题,从第三位开始遍历数组,把当前位置的值和前两个位置的最小值相加,存入当前位置,最后返回数组倒数第一和倒数第二个位置的最小值即可。
时间复杂度:O(n)
空间复杂度:O(n)


代码

class Solution:
    def minCostClimbingStairs(self, cost: List[int]) -> int:
        for i in range(2, len(cost)):
            cost[i] += min(cost[i-1], cost[i-2])
        return min(cost[-1], cost[-2])
posted @ 2020-11-19 15:52  老鼠司令  阅读(85)  评论(0)    收藏  举报