Skip to content

Commit d65cb0e

Browse files
zhaocchenyanglbme
andauthored
feat: add typescript solution to lc problem: No.0312.Burst Balloons (doocs#570)
Co-authored-by: yanglbme <szuyanglb@outlook.com>
1 parent 14eb301 commit d65cb0e

File tree

3 files changed

+52
-0
lines changed

3 files changed

+52
-0
lines changed

solution/0300-0399/0312.Burst Balloons/README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,25 @@ class Solution {
9696
}
9797
```
9898

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+
99118
### **C++**
100119

101120
```cpp

solution/0300-0399/0312.Burst Balloons/README_EN.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,25 @@ class Solution {
8080
}
8181
```
8282

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+
83102
### **C++**
84103

85104
```cpp
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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+
};

0 commit comments

Comments
 (0)