每日一道算法題--leetcode 746--使用最小花費爬樓梯--python

【題目描述】數組

!!題幹裏的示例1須要仔細看一下哦,要到達頂層,即20那一層,能夠跳過20這一層達到更高一層,也所以咱們給cost數組最後加一個元素0,模擬最頂層的上一層無須花費力氣。

【代碼思路】 最簡單的一維動態規劃問題,自底向上。bash

【上代碼】app

class Solution:
    def minCostClimbingStairs(self, cost: List[int]) -> int:
        len1=len(cost)
        cost.append(0)
        dp=[]
        dp.append(cost[0])
        dp.append(cost[1])
        for i in range(2,len1+1):
            dp.append(min(dp[i-1],dp[i-2])+cost[i])
        return min(dp[len1-1],dp[len1])
複製代碼

看效果,時間複雜度線性級別: ui

這裏有一個動態規劃系列題目整理,供你們參考: blog.csdn.net/liukcqu/art…spa

相關文章
相關標籤/搜索