Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit fa45d41

Browse files
authoredMay 26, 2023
Update 120-triangle.js
1 parent 15d22cd commit fa45d41

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed
 

‎120-triangle.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,26 @@ const minimumTotal = function(triangle) {
1717

1818
return triangle[0][0];
1919
};
20+
21+
// another
22+
23+
/**
24+
* @param {number[][]} triangle
25+
* @return {number}
26+
*/
27+
const minimumTotal = function(triangle) {
28+
const m = triangle.length, n = triangle.at(-1).length
29+
const dp = Array.from({ length: m + 1 }, () => Array(n + 1).fill(Infinity))
30+
dp[1][1] = triangle[0][0]
31+
for(let i = 2; i <= m; i++) {
32+
for(let j = 1; j <= triangle[i - 1].length; j++) {
33+
if(j === 1) dp[i][j] = dp[i - 1][j] + triangle[i - 1][j - 1]
34+
else dp[i][j] = Math.min(dp[i - 1][j], dp[i - 1][j - 1]) + triangle[i - 1][j - 1]
35+
}
36+
}
37+
let res = Infinity
38+
for (let j = 0; j <= n; j++) {
39+
res = Math.min(res, dp[m][j])
40+
}
41+
return res
42+
};

0 commit comments

Comments
 (0)
Please sign in to comment.