엔지니어 게시판
LeetCode 솔루션 분류

[7/10] 746. Min Cost Climbing Stairs

컨텐츠 정보

본문

Easy
69861148Add to ListShare

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.

 

Example 1:

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.

Example 2:

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.

 

Constraints:

  • 2 <= cost.length <= 1000
  • 0 <= cost[i] <= 999
Accepted
560,308
Submissions
919,501

관련자료

댓글 1

학부유학생님의 댓글

  • 익명
  • 작성일
Runtime: 89 ms, faster than 52.95% of Python3 online submissions for Min Cost Climbing Stairs.
Memory Usage: 14 MB, less than 75.93% of Python3 online submissions for Min Cost Climbing Stairs.
class Solution:
    def minCostClimbingStairs(self, cost: List[int]) -> int:
        prev, prev_prev = cost[1],cost[0]
        
        for i in range(2, len(cost)):
            prev_prev, prev = prev, cost[i] + min(prev_prev, prev)
        
        return min(prev, prev_prev)
            
전체 194 / 9 페이지
번호
제목
이름

최근글


인기글


새댓글


Stats


알림 0