LeetCode #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])

浙公网安备 33010602011771号