Daily LeetCode – day0115 0808. Soup Servings

// 0808. Soup Servings
class Solution {
    double[][] dp = new double[200][200];

    public double soupServings(int n) {
        return n > 4800 ? 1 : f((n + 24) / 25, (n + 24) / 25);
    }

    public double f(int a, int b) {
        if (a <= 0 && b <= 0) {
            return 0.5;
        } else if (a <= 0) {
            return 1;
        } else if (b <= 0) {
            return 0;
        }
        if (dp[a][b] > 0) return dp[a][b];
        dp[a][b] = 0.25 * (f(a - 4, b) + f(a - 3, b - 1) + f(a - 2, b - 2) + f(a - 1, b - 3));
        return dp[a][b];
    }
}
学习笔记:
这是一道动态规划的题目,要将分汤的四种情况都进行分析。


关于樊轶群

一个善良的理想主义者。
此条目发表在每日LeetCode分类目录。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注