File tree Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -17,3 +17,26 @@ const minimumTotal = function(triangle) {
17
17
18
18
return triangle [ 0 ] [ 0 ] ;
19
19
} ;
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
+ } ;
You can’t perform that action at this time.
0 commit comments