美文网首页
837. 新21点

837. 新21点

作者: kaikai1234 | 来源:发表于2020-06-06 11:02 被阅读0次

1. 原理觉得应该有数学公式,但是没有。自己退出来的是错的。说明不能直接从k-w+1开始推,前面是有概率影响的。

2. dp[i] = (dp[i+w] +....dp[i+1])/w,这是公式,也就是倒着推的,这是没想到的。把想要的结果看出概率1,不想要的看成0,倒推从0开始的概率。

为什么这么推呢?因为正着推很费力气,不确定方向。

3. 还有一个问题,就是范围。最大不超过min(n,w+k-1), 因为不超过n,切不小于k,所以取二者较小的。

4. 至于O(n)的优化,就是把for提取出来。amount要时刻刷新值,这个错了好久。

5. 这是一个很好的题目。开拓眼界

代码如下:

class Solution {

    public double new21Game(int n, int k, int w) {

        double[] dp = new double[k+w];

        int small = Math.min(n,k+w-1);

        for(int i = k; i <= small; i++){

            dp[i] = 1;

        }

        for(int i = small+1; i <= k+w-1; i++){

            dp[i] = 0;

        }

        double amount = 0;

        for(int j = k; j <= w+k-1; j++){

            amount+=dp[j];

        }

        if(k-1>=0){

                dp[k-1] = amount/w;

        }

        for(int i = k-2; i >=0; i-- ){

           amount = amount-dp[w+i+1] + dp[i+1];

            dp[i] = amount/w;

        }

        return dp[0];

    }

}

相关文章

  • LeetCode 837. 新21点 | Python

    837. 新21点 题目来源:力扣(LeetCode)https://leetcode-cn.com/proble...

  • 837. 新21点

    1. 原理觉得应该有数学公式,但是没有。自己退出来的是错的。说明不能直接从k-w+1开始推,前面是有概率影响的。 ...

  • 837. 新21点

    爱丽丝参与一个大致基于纸牌游戏 “21点” 规则的游戏,描述如下: 爱丽丝以 0 分开始,并在她的得分少于 K 分...

  • LeetCode 837.新21点

    题目 新21点链接可能点不进去,所以我把完整的题目写在了下面。 分析 这道题通过率很低。 题目没啥歧义,我们来看看...

  • 837. 新21点(Python)

    难度:★★★☆☆类型:数组方法:动态规划 力扣链接请移步本题传送门[https://leetcode-cn.com...

  • 837. 冬至长城

  • 《苇草飞》(836~840)

    836. 权力的轱辘可碾人如蝼蚁, 但蝼蚁可噬轱辘成粉末。 837. 爱情里,我该付出的东西都付出了, 该得到了后...

  • 837.《曾国藩家书》:礼物与情意,礼轻情意重,施薄礼不受厚

    人与人交往,难免会互送礼物,以表达心意。而选择什么样的礼物,则是仁者见仁,智者见智。 有人喜欢送重礼,认为只有足够...

  • 新,迎向新

    我将以必胜的意志,终结这一切。 而那一切过后,会发生什么 请命运重新为我洗牌 请一切重新为我以及我们的一切,安排 ...

  • 新的 新的 新的

    早饭: 紫薯粥一如既往的优秀,大块香甜的的紫薯,稠稠的一碗相当够份量。 新尝试了24号窗的梅菜饼…嗯…酸酸的梅菜,...

网友评论

      本文标题:837. 新21点

      本文链接:https://www.haomeiwen.com/subject/jtlgzhtx.html