Champagne Tower LeetCode solution in JavaScript

1
/**
2
* @param {number} poured
3
* @param {number} query_row
4
* @param {number} query_glass
5
* @return {number}
6
*/
7
var champagneTower = function (poured, query_row, query_glass) {
8
let glassLevels = Array(100).fill(0.0);
9
glassLevels[0] = poured;
10

11
for (let curRow = 0; curRow < query_row; curRow++) {
12
let nextLevels = Array(100).fill(0.0);
13

14
for (let curGlass = 0; curGlass <= curRow; curGlass++) {
15
let overflow = Math.max(0, (glassLevels[curGlass] - 1.0) / 2.0);
16
nextLevels[curGlass] += overflow;
17
nextLevels[curGlass + 1] += overflow;
18
}
19

20
glassLevels = nextLevels;
21
}
22

23
return Math.min(1.0, glassLevels[query_glass]);
24
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0