zoukankan      html  css  js  c++  java
  • 837. 新21点

    class Solution {
        public double new21Game(int N, int K, int W) {
            // 先判断 K + W 是否小于N,如果是的话,说明肯定能赢得游戏,返回 1.0,也就是 100%
            if (N >= K + W) {
                return 1.0;
            }
            double[] dp = new double[K + W];
            // 将能赢得游戏的点数的概率设置为 1
            for (int i = K; i <= N; i++) {
                dp[i] = 1.0;
            }
            // 计算K + W 这几个点数的概率和
            double sumProb = N - K + 1;
            // 从 K - 1 开始计算,
            for (int i = K - 1; i >= 0; i--) {
                // 点数为 i 的赢得游戏的概率为 i + 1 ~ i + W 的概率和除以 W 
                dp[i] = sumProb / W;
                sumProb = sumProb - dp[i + W] + dp[i];
            }
    
            return dp[0];
        }
    }
  • 相关阅读:
    2440中断
    2440内存管理
    printf不定参数
    时钟体系
    Uart串口
    链接脚本与重定位
    指令速记
    OpenOCD-JTAG调试
    ATPCS规则
    ARM三级流水线
  • 原文地址:https://www.cnblogs.com/yonezu/p/13369199.html
Copyright © 2011-2022 走看看