Skip to content

Commit 96ca276

Browse files
author
Hieu Luong
committed
Solve Problems 312 - Burst Balloons
1 parent 31ab7cb commit 96ca276

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package intervals;
2+
3+
public class Problem312_BurstBalloons {
4+
5+
public int maxCoins(int[] A) {
6+
int n = A.length, dp[][] = new int[n][n];
7+
return dfs(A, dp, 0, n-1);
8+
}
9+
10+
private int dfs(int[] A, int[][] dp, int l, int r) {
11+
if (l > r) return 0;
12+
if (dp[l][r] != 0) return dp[l][r];
13+
for (int i = l; i <= r; i++) {
14+
int p = A[i];
15+
if (l > 0) p *= A[l-1];
16+
if (r < A.length-1) p *= A[r+1];
17+
dp[l][r] = Math.max(dp[l][r], p + dfs(A, dp, l, i-1) + dfs(A, dp, i+1, r));
18+
}
19+
return dp[l][r];
20+
}
21+
}

0 commit comments

Comments
 (0)