第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

【LEETCODE】模擬面試-120- Triangle

题目:

https://leetcode.com/problems/triangle/

Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below.

For example, given the following triangle
[
[2],
[3,4],
[6,5,7],
[4,1,8,3]
]
The minimum path sum from top to bottom is 11 (i.e., 2 + 3 + 5 + 1 = 11).

Note:
Bonus point if you are able to do this using only O(n) extra space, where n is the total number of rows in the triangle.

题意:

Given a triangle, and this problem is to find the minimum sum from top to down layer, at each layer, for each point, it can only sum with its adjacent point.

分析:

Since that when we move to the next layer, the sum depends on the previous layer's choice, and each choice maybe called more than once, so it's better to use Dynamic Programming to deal with it.

If we solve it from top to down, it may require to build 2D matrix.
So we can try from down to top.

  • Suppose the triangle has n layers.

  • We firstly initiate dp as equal to the last layer of triangle, so dp has 1*n dimension.

  • Then we move from (n-1)th layer upward, for each movement, we will compare and store the minimum choice for each point in this layer. That is:

  • At (n-1)th layer, for each i in this layer, find min(triangle[i]+dp[i], triangle[i]+dp[i+1]), then refresh dp[i] with the result.

  • So dp[i] denote that, till current time, when we move from down to current layer, the minimum so far for each point i in this layer.

图例

[Python]

class Solution(object):
    def minimumTotal(self, triangle):
        """
        :type triangle: List[List[int]]
        :rtype: int
        """
        
        n = len(triangle)
        
        dp = triangle[n-1]        
        for i in range(n-2,-1,-1):            for j in range(i+1):
                dp[j] = min( dp[j], dp[j+1] ) + triangle[i][j]        
        return dp[0]
點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消