Top 150 InterviewMedium

Min Cost Climbing Stairs

Detailed guide and Python implementation for the 'Min Cost Climbing Stairs' problem.

Problem Statement

Medium

You are given an integer array cost where cost[i] is the cost of ith step on a staircase. Once you pay the cost, you can either climb one or two steps.

You can either start from the step with index 0, or the step with index 1.

Return the minimum cost to reach the top of the floor.

Write a function minCostClimbingStairs(cost: List[int]) -> int.

Constraints
  • 2 <= len(cost) <= 1000
  • 0 <= cost[i] <= 999

Examples

Example 1
Input
cost = [10,15,20]
Output
15
Explanation

Start at index 1, pay 15, and climb to the top. Total is 15.

Example 2
Input
cost = [1,100,1,1,1,100,1,1,100,1]
Output
6
Explanation

Start at index 0, pay 1, climb to 2, pay 1, climb to 4, pay 1, climb to 6, pay 1, climb to 7, pay 1, climb to 9, pay 1, climb to top. Total is 6.

Need a Hint?
Consider using 1D DP-specific data structures like sets or heaps.
Edge Cases to Watch
  • Empty input structures
  • Single element inputs
  • Large numerical bounds

Ready to Solve?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Open in Editor

Recommended Python Resources

Expand your knowledge with related interactive tutorials, cheat sheets, and code comparisons.