File tree Expand file tree Collapse file tree 3 files changed +52
-0
lines changed
solution/0300-0399/0312.Burst Balloons Expand file tree Collapse file tree 3 files changed +52
-0
lines changed Original file line number Diff line number Diff line change @@ -96,6 +96,25 @@ class Solution {
96
96
}
97
97
```
98
98
99
+ ### ** TypeScript**
100
+
101
+ ``` ts
102
+ function maxCoins(nums : number []): number {
103
+ let n = nums .length ;
104
+ let dp = Array .from ({ length: n + 1 }, v => new Array (n + 2 ).fill (0 ));
105
+ nums .unshift (1 );
106
+ nums .push (1 );
107
+ for (let i = n - 1 ; i >= 0 ; -- i ) {
108
+ for (let j = i + 2 ; j < n + 2 ; ++ j ) {
109
+ for (let k = i + 1 ; k < j ; ++ k ) {
110
+ dp [i ][j ] = Math .max (nums [i ] * nums [k ] * nums [j ] + dp [i ][k ] + dp [k ][j ], dp [i ][j ]);
111
+ }
112
+ }
113
+ }
114
+ return dp [0 ][n + 1 ];
115
+ };
116
+ ```
117
+
99
118
### ** C++**
100
119
101
120
``` cpp
Original file line number Diff line number Diff line change @@ -80,6 +80,25 @@ class Solution {
80
80
}
81
81
```
82
82
83
+ ### ** TypeScript**
84
+
85
+ ``` ts
86
+ function maxCoins(nums : number []): number {
87
+ let n = nums .length ;
88
+ let dp = Array .from ({ length: n + 1 }, v => new Array (n + 2 ).fill (0 ));
89
+ nums .unshift (1 );
90
+ nums .push (1 );
91
+ for (let i = n - 1 ; i >= 0 ; -- i ) {
92
+ for (let j = i + 2 ; j < n + 2 ; ++ j ) {
93
+ for (let k = i + 1 ; k < j ; ++ k ) {
94
+ dp [i ][j ] = Math .max (nums [i ] * nums [k ] * nums [j ] + dp [i ][k ] + dp [k ][j ], dp [i ][j ]);
95
+ }
96
+ }
97
+ }
98
+ return dp [0 ][n + 1 ];
99
+ };
100
+ ```
101
+
83
102
### ** C++**
84
103
85
104
``` cpp
Original file line number Diff line number Diff line change
1
+ function maxCoins ( nums : number [ ] ) : number {
2
+ let n = nums . length ;
3
+ let dp = Array . from ( { length : n + 1 } , v => new Array ( n + 2 ) . fill ( 0 ) ) ;
4
+ nums . unshift ( 1 ) ;
5
+ nums . push ( 1 ) ;
6
+ for ( let i = n - 1 ; i >= 0 ; -- i ) {
7
+ for ( let j = i + 2 ; j < n + 2 ; ++ j ) {
8
+ for ( let k = i + 1 ; k < j ; ++ k ) {
9
+ dp [ i ] [ j ] = Math . max ( nums [ i ] * nums [ k ] * nums [ j ] + dp [ i ] [ k ] + dp [ k ] [ j ] , dp [ i ] [ j ] ) ;
10
+ }
11
+ }
12
+ }
13
+ return dp [ 0 ] [ n + 1 ] ;
14
+ } ;
You can’t perform that action at this time.
0 commit comments