Back to Practice Dashboard
Top 150 InterviewMedium

Min Cost Climbing Stairs

Learn how to solve the 'Min Cost Climbing Stairs' problem. This detailed resource details brute force and optimized approaches.

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?
Define subproblem states, establish the recurrence relation, and use memoization (top-down) or tabulation (bottom-up).
Edge Cases to Watch
  • Empty list or null input variables
  • Single item lists/arrays
  • Extremely large input bounds causing integer or stack overflow

Ready to Solve?

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

Open in Editor