class Solution:
def minCostClimbingStairs(self, cost: List[int]) -> int:
a = cost[0]
b = cost[1]
for i in range(2, len(cost)):
_next = min(a, b)+cost[i]
a = b
b = _next
return min(a, b)
func min(a, b int) int {
if a < b {
return a
}
return b
}
func minCostClimbingStairs(cost []int) int {
a := cost[0]
b := cost[1]
for i := 2; i < len(cost); i++ {
next := min(a, b) + cost[i]
a = b
b = next
}
return min(a, b)
}
class Solution:
def minCostClimbingStairs(self, cost: List[int]) -> int:
for i in range(2, len(cost)):
cost[i] += min(cost[i-1], cost[i-2])
return min(cost[-1], cost[-2])