2026-06-01 18:12:40 +08:00
#+ANKI_DECK : study_deck_02
2026-06-01 17:12:10 +08:00
* TODO 0746. Min Cost Climbing Stairs :easy:
2026-06-01 02:33:30 +08:00
:PROPERTIES:
2026-06-01 17:22:07 +08:00
:NEETCODE: [[file:../../roadmap.org::*0746. Min Cost Climbing Stairs][0746. Min Cost Climbing Stairs]]
2026-06-01 02:33:30 +08:00
:END:
2026-06-01 17:22:07 +08:00
You are given an integer array ~cost~ where ~cost[i]~ is the cost of ~i^{th}~ 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/ .
*Example 1:*
#+begin_ src
Input: cost = [10,15,20]
Output: 15
Explanation: You will start at index 1.
- Pay 15 and climb two steps to reach the top.
The total cost is 15.
#+end_src
*Example 2:*
#+begin_ src
Input: cost = [1,100,1,1,1,100,1,1,100,1]
Output: 6
Explanation: You will start at index 0.
- Pay 1 and climb two steps to reach index 2.
- Pay 1 and climb two steps to reach index 4.
- Pay 1 and climb two steps to reach index 6.
- Pay 1 and climb one step to reach index 7.
- Pay 1 and climb two steps to reach index 9.
- Pay 1 and climb one step to reach the top.
The total cost is 6.
#+end_src
*Constraints:*
- ~2 <= cost.length <= 1000~
- ~0 <= cost[i] <= 999~
2026-06-01 02:39:53 +08:00
** TODO Approach
Write your approach here.
** TODO Python
#+begin_src python
2026-06-01 17:22:07 +08:00
class Solution :
def minCostClimbingStairs ( self , cost : List [ int ] ) - > int :
2026-06-01 02:39:53 +08:00
#+end_src
** TODO C++
2026-06-01 02:33:30 +08:00
#+begin_src cpp
2026-06-01 17:22:07 +08:00
class Solution {
public :
int minCostClimbingStairs ( vector < int > & cost ) {
}
} ;
2026-06-01 02:33:30 +08:00
#+end_src