摘要:動(dòng)態(tài)規(guī)劃復(fù)雜度時(shí)間空間思路這題我們可以從上往下依次計(jì)算每個(gè)節(jié)點(diǎn)的最短路徑,也可以自下而上。自下而上要簡(jiǎn)單一些,因?yàn)槲覀冎挥迷趦蓚€(gè)下方元素中選一個(gè)較小的,就能得到確定解。
Triangle
動(dòng)態(tài)規(guī)劃 復(fù)雜度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).
時(shí)間 O(NM) 空間 O(1)
思路這題我們可以從上往下依次計(jì)算每個(gè)節(jié)點(diǎn)的最短路徑,也可以自下而上。自下而上要簡(jiǎn)單一些,因?yàn)槲覀冎挥迷趦蓚€(gè)下方元素中選一個(gè)較小的,就能得到確定解。如果將上一層的累加和存在一個(gè)一維數(shù)組里,則可以只用O(n)空間,但實(shí)際上我們可以直接in place在輸入list中修改值,就可以不用額外空間了。
代碼public class Solution { public int minimumTotal(List> triangle) { for(int i = triangle.size() - 2; i >= 0; i--){ for(int j = 0; j < triangle.get(i).size(); j++){ triangle.get(i).set(j,triangle.get(i).get(j)+Math.min(triangle.get(i+1).get(j), triangle.get(i+1).get(j+1))); } } return triangle.get(0).get(0); } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/64446.html
摘要:楊輝三角給定一個(gè)非負(fù)整數(shù),生成楊輝三角的前行。在楊輝三角中,每個(gè)數(shù)是它左上方和右上方的數(shù)的和。另外可以在內(nèi)層循環(huán)加判斷在不等于時(shí)才加上,這樣可省略代碼段,但是這個(gè)會(huì)在每次進(jìn)入第一次循環(huán)后判斷一次。本著減少資源消耗的原則,應(yīng)當(dāng)提到外面。 118:Pascals Triangle 楊輝三角 Given a non-negative integer numRows, generate the...
摘要:楊輝三角給定一個(gè)非負(fù)整數(shù),生成楊輝三角的前行。在楊輝三角中,每個(gè)數(shù)是它左上方和右上方的數(shù)的和。另外可以在內(nèi)層循環(huán)加判斷在不等于時(shí)才加上,這樣可省略代碼段,但是這個(gè)會(huì)在每次進(jìn)入第一次循環(huán)后判斷一次。本著減少資源消耗的原則,應(yīng)當(dāng)提到外面。 118:Pascals Triangle 楊輝三角 Given a non-negative integer numRows, generate the...
摘要:題目示例題目解析此題是等腰三角形,上下之間的關(guān)系簡(jiǎn)化為上下相鄰的三個(gè)數(shù),相鄰,大小關(guān)系是在下方二選一上方的數(shù)值,必然正確。根據(jù)此思路,可以或者,由于可以簡(jiǎn)化,所以動(dòng)態(tài)規(guī)劃方法。代碼普通代碼,較慢動(dòng)態(tài)規(guī)劃,簡(jiǎn)練 題目: Given a triangle, find the minimum path sum from top to bottom. Each step you may mov...
摘要:迭代法復(fù)雜度時(shí)間空間思路簡(jiǎn)單的按照楊輝三角形的規(guī)則計(jì)算就行了。代碼加入第一個(gè)加入中間的數(shù)加入最后一個(gè)逆序相加法復(fù)雜度時(shí)間空間思路同樣用迭代的方法,根據(jù)上一層的值算下一層,不過(guò)這里每一層都在同一個(gè)上操作。 Pascals Triangle I Given numRows, generate the first numRows of Pascals triangle. For examp...
摘要:公眾號(hào)愛(ài)寫(xiě)作者愛(ài)寫(xiě)給定一個(gè)非負(fù)索引,其中,返回楊輝三角的第行。在楊輝三角中,每個(gè)數(shù)是它左上方和右上方的數(shù)的和。示例輸入輸出進(jìn)階你可以優(yōu)化你的算法到空間復(fù)雜度嗎解題思路和之前寫(xiě)的那篇號(hào)楊輝三角基本類似。 公眾號(hào):愛(ài)寫(xiě)bug(ID:icodebugs)作者:愛(ài)寫(xiě)bug 給定一個(gè)非負(fù)索引 k,其中 k ≤ 33,返回楊輝三角的第 k 行。 Given a non-negative index...
閱讀 3322·2021-10-27 14:20
閱讀 2567·2021-10-08 10:05
閱讀 1658·2021-09-09 09:33
閱讀 2927·2019-08-30 13:16
閱讀 1461·2019-08-29 18:34
閱讀 1209·2019-08-29 10:58
閱讀 1254·2019-08-28 18:22
閱讀 1254·2019-08-26 13:33