题目链接
    image.png

    1. class Solution {
    2. public double champagneTower(int poured, int query_row, int query_glass) {
    3. double[][] arr = new double[101][101];
    4. // 当前的值确定了的话,下一层左右两边的值就确认了
    5. arr[0][0] = poured;
    6. for(int i = 0; i <= query_row; i++) { // 行
    7. for(int j = 0; j <= i; j++ ) { // 列
    8. double num = (arr[i][j]-1.0)/2;
    9. if(num > 0) {
    10. arr[i+1][j] += num;
    11. arr[i+1][j+1] += num;
    12. }
    13. }
    14. }
    15. return Math.min(1, arr[query_row][query_glass]);
    16. }
    17. }