diff --git a/Java/LeetCode/ChampagneTower b/Java/LeetCode/ChampagneTower new file mode 100644 index 0000000..33cc999 --- /dev/null +++ b/Java/LeetCode/ChampagneTower @@ -0,0 +1,17 @@ +class Solution { + public double champagneTower(int poured, int query_row, int query_glass) { + double[][] tower = new double[101][101]; + tower[0][0] = poured; + + for (int row = 0; row <= query_row; row++) { + for (int col = 0; col <= row; col++) { + double leftChampagne = (tower[row][col] - 1) / 2.0; + if (leftChampagne > 0) { + tower[row + 1][col] += leftChampagne; + tower[row + 1][col + 1] += leftChampagne; + } + } + } + + return Math.min(1, tower[query_row][query_glass]); + }