Skip to content

Commit 5c7f8b7

Browse files
authored
Update Champagne Tower.java
1 parent 162a26b commit 5c7f8b7

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

Medium/Champagne Tower.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
class Solution {
2-
public double champagneTower(int poured, int query_row, int query_glass) {
3-
double[][] glassCapacity = new double[query_row + 1][query_glass + 2];
4-
glassCapacity[0][0] = poured;
5-
for (int currRow = 0; currRow < query_row; currRow++) {
6-
for (int currCol = 0; currCol <= query_glass; currCol++) {
7-
double currCapacity = Math.max(glassCapacity[currRow][currCol] - 1.0, 0);
8-
glassCapacity[currRow + 1][currCol] += currCapacity / 2.0;
9-
glassCapacity[currRow + 1][currCol + 1] += currCapacity / 2.0;
10-
}
2+
public double champagneTower(int poured, int query_row, int query_glass) {
3+
double[] glass = new double[query_row + 2];
4+
glass[0] = poured;
5+
for (int row = 1; row <= query_row; row++) {
6+
for (int idx = row; idx >= 0; idx--) {
7+
glass[idx] = Math.max(0.0, (glass[idx] - 1) / 2);
8+
glass[idx + 1] += glass[idx];
9+
}
10+
}
11+
return Math.min(glass[query_glass], 1.0);
1112
}
12-
return Math.min(glassCapacity[query_row][query_glass], 1.0);
13-
}
1413
}

0 commit comments

Comments
 (0)