#+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 :lc-problem 746 :lc-lang python3 class Solution: def minCostClimbingStairs(self, cost: List[int]) -> int: #+end_src ** TODO C++ #+begin_src cpp :lc-problem 746 class Solution { public: int minCostClimbingStairs(vector& cost) { } }; #+end_src