- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# Program to find to get minimum cost to climb at the top of stairs in Python?

Suppose we have a list of numbers called stairs and another value k. We are currently at stair 0 and want to climb to the last index of stairs. The value stair[i] indicates cost to reach at index and in each round we can either jump 1, 2, ... k, stairs at once. We have to find the minimum cost to climb to the last stair.

So, if the input is like stairs = [4, 11, 11, 3, 2] k = 3, then the output will be 9, as we use the stairs [4, 3, 2]

To solve this, we will follow these steps

q := a double ended queue and insert a pair (stairs[0], 0) into it

for i in range 1 to size of stairs, do

while i - q[0, 1] > k, do

remove item from left of q

curcost := q[0, 0] + stairs[i]

while q is not empty and and curcost <= first value of the last item of q, do

delete last element from q

insert (curcost, i) at the end of q

return first value of the last item of q

Let us see the following implementation to get better understanding

## Example

from collections import deque class Solution: def solve(self, stairs, k): q = deque([(stairs[0], 0)]) for i in range(1, len(stairs)): while i - q[0][1] > k: q.popleft() curcost = q[0][0] + stairs[i] while q and curcost <= q[-1][0]: q.pop() q.append((curcost, i)) return q[-1][0] ob = Solution() stairs = [4, 11, 11, 3, 2] k = 3 print(ob.solve(stairs, k))

## Input

[4, 11, 11, 3, 2], 3

## Output

9

- Related Questions & Answers
- Program to find how many ways we can climb stairs in Python
- Program to find how many ways we can climb stairs (maximum steps at most k times) in Python
- Program to find minimum cost to merge stones in Python
- Program to Find Out the Minimum Cost to Purchase All in Python
- Program to find minimum cost to reach final index with at most k steps in python
- Program to find minimum cost to connect all points in Python
- Program to find minimum cost to cut a stick in Python
- Program to find minimum cost to hire k workers in Python
- Program to find minimum cost for painting houses in Python
- Min Cost Climbing Stairs in Python
- Program to find minimum deletion cost to avoid repeating letters in Python
- Program to Find Out the Minimum Cost Possible from Weighted Graph in Python
- Program to find minimum total cost for equalizing list elements in Python
- Program to find minimum cost to reduce a list into one integer in Python
- Program to find minimum cost to paint fences with k different colors in Python