Champagne Tower LeetCode solution in Java
1// Champagne Tower2// Leetcode: https://leetcode.com/problems/champagne-tower/34class Solution {5public double champagneTower(int poured, int query_row, int query_glass) {6if (poured == 0) return 0;7double[] memo = new double[101];8memo[0] = poured;9for (int i = 0; i < 100; i++) {10for (int j = i; j >= 0; j--) {11if (memo[j] > 1) {12if (i == query_row && j == query_glass) return 1;13double val = (memo[j] - 1) / 2;14memo[j + 1] += val;15memo[j] = val;16} else {17if (i == query_row && j == query_glass) return memo[query_glass];18memo[j + 1] += 0;19memo[j] = 0;20}21}22}23return memo[query_glass];24}25}