Leetcode--837. 新21点(java)
发布日期:2021-04-30 21:06:34 浏览次数:92 分类:精选文章

本文共 1180 字,大约阅读时间需要 3 分钟。

????????????????????????????????N??????????????????????

????

????????????????????????????

  • ?????????????????? dp??? dp[i] ??????? i ??????????????????????????? i ???? K ?????1????? N ?????0?

  • ??????????????????????????? prefix??? prefix[i] ?? dp ??? 0 ? i-1 ???

  • ????????????????? i?????? i ??????1?W???????????????????????????

  • ?????????????????????? N??????? N ?????????????

  • ????

    class Solution {
    public double new21Game(int N, int K, int W) {
    if (K == 0 || (K - 1) + W <= N) {
    return 1.0;
    }
    int[] dp = new double[K + W];
    int[] prefix = new double[K + W + 1];
    // ???dp??
    for (int i = K; i <= Math.min(N, K + W); i++) {
    dp[i] = 1.0;
    prefix[i + 1] = prefix[i] + dp[i];
    }
    for (int i = K - 1; i >= 0; i--) {
    int upper = Math.min(i + W, N + 1);
    double sum = prefix[upper] - prefix[i];
    dp[i] = sum / W;
    prefix[i] = prefix[i + 1] + dp[i];
    }
    return dp[0];
    }
    }

    ????

    • ??????? K ?0??????? N ?????1?
    • ?????????????????????
    • ?????????????????????????????????????
    • ????????? N ?????????? N ????

    ?????????????????????????????????

    上一篇:【剑指offer】面试题19:正则表达式匹配(Java)
    下一篇:JDBC中的事务

    发表评论

    最新留言

    路过按个爪印,很不错,赞一个!
    [***.219.124.196]2026年06月14日 04时57分27秒

    关于作者

        喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
    -- 愿君每日到此一游!

    推荐文章