Files
cpp-flashcards/org/study_deck_02/dsa/1-d-dynamic-programming/0746-min-cost-climbing-stairs.org
T

66 lines
1.4 KiB
Org Mode
Raw Normal View History

2026-06-01 18:12:40 +08:00
#+ANKI_DECK: study_deck_02
* TODO 0746. Min Cost Climbing Stairs :easy:
:PROPERTIES:
:NEETCODE: [[file:../../roadmap.org::*0746. Min Cost Climbing Stairs][0746. Min Cost Climbing Stairs]]
:END:
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~
** TODO Approach
Write your approach here.
** TODO Python
#+begin_src python
class Solution:
def minCostClimbingStairs(self, cost: List[int]) -> int:
#+end_src
** TODO C++
#+begin_src cpp
class Solution {
public:
int minCostClimbingStairs(vector<int>& cost) {
}
};
#+end_src