Golang:
思路:简单DP,保持cost[0]、cost[1]不变,从i=2开始,状态转移方程是:cost[i]=min(cost[i-2],cost[i-1])+cost[i]
代码如下:
func minCostClimbingStairs(cost []int) int {
for i := 2; i < len(cost); i++ {
cost[i] = min(cost[i-2], cost[i-1]) + cost[i]
}
return min(cost[len(cost)-1], cost[len(cost)-2])
}
有疑问加站长微信联系(非本文作者)