File tree 1 file changed +10
-11
lines changed
1 file changed +10
-11
lines changed Original file line number Diff line number Diff line change 1
1
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 );
11
12
}
12
- return Math .min (glassCapacity [query_row ][query_glass ], 1.0 );
13
- }
14
13
}
You can’t perform that action at this time.
0 commit comments