← Recursion & DP

Micro-Drill #165 — Min Cost Climbing Stairs

Recursion & DP Target: 10s

dp[i] = cost[i] + min(dp[i-1], dp[i-2]). Optimized to two variables. Final answer is min of last two.

def minCostClimbingStairs(cost):
    a, b = cost[0], cost[1]
    for i in range(2, len(cost)):
        a, b = b, cost[i] + min(a, b)
    return min(a, b)

Type it from memory. Go.

Practice Problems

Related Coding Drills

← Micro #164 Micro #166 →