837. 新21点

爱丽丝参与一个大致基于纸牌游戏 “21点” 规则的游戏,描述如下:

爱丽丝以 0 分开始,并在她的得分少于 K 分时抽取数字。 抽取时,她从 [1, W] 的范围中随机获得一个整数作为分数进行累计,其中 W 是整数。 每次抽取都是独立的,其结果具有相同的概率。

当爱丽丝获得不少于 K 分时,她就停止抽取数字。 爱丽丝的分数不超过 N 的概率是多少?

示例 1:

输入:N = 10, K = 1, W = 10
输出:1.00000
说明:爱丽丝得到一张卡,然后停止。
示例 2:

输入:N = 6, K = 1, W = 10
输出:0.60000
说明:爱丽丝得到一张卡,然后停止。
在 W = 10 的 6 种可能下,她的得分不超过 N = 6 分。
示例 3:

输入:N = 21, K = 17, W = 10
输出:0.73278
提示:

0 <= K <= N <= 10000
1 <= W <= 10000
如果答案与正确答案的误差不超过 10^-5,则该答案将被视为正确答案通过。
此问题的判断限制时间已经减少。

class Solution {public double new21Game(int N, int K, int W) {double res = 0;int bound = (N<K+W)?N:K+W;double dp[] = new double[bound+1];double p = (double) 1 / W;dp[0] = 1;int lower = 0;double acc = 0;for(int i = 1; i <= bound; i++){            if(lower < i-W){acc -= dp[lower];lower++;                }if(i<=K){               acc += dp[i-1];}dp[i] = acc * p;}for(int q = K; q <= bound; q++){res += dp[q];}return res;}}


注意:最后送大家十套2020最新Java架构实战教程+大厂面试题库,进裙 783802103 在裙文件下载一起交流进步哦!

Java实现 LeetCode 837 新21点(DP)相关推荐

  1. LeetCode 837. 新21点(动态规划)

    文章目录 1. 题目 2. 解题 2.1 暴力超时 2.2 优化 1. 题目 爱丽丝参与一个大致基于纸牌游戏 "21点" 规则的游戏,描述如下: 爱丽丝以 0 分开始,并在她的得分 ...

  2. leetcode - 837. 新21点

    爱丽丝参与一个大致基于纸牌游戏 "21点" 规则的游戏,描述如下: 爱丽丝以 0 分开始,并在她的得分少于 K 分时抽取数字. 抽取时,她从 [1, W] 的范围中随机获得一个整数 ...

  3. java 取数组的前90位,LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面

    LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面 题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入 ...

  4. java中update_Java 7 Update 21安全改进的详细信息

    java中update Oracle昨天发布了三个Java更新 . 重要的是要注意它们包含一些与安全性相关的更改. 一段时间以来,这些变更中的大多数已经宣布,首先要注意的是Oracle按计划交付. O ...

  5. Java并发包——使用新的方式创建线程

    Java并发包--使用新的方式创建线程 摘要:本文主要学习了如何使用Java并发包中的类创建线程. 部分内容来自以下博客: https://www.cnblogs.com/dolphin0520/p/ ...

  6. java的发展(8-17新特性整理)

    java java的诞生与历史: 简介:Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征. ...

  7. java求最短距离,Java实现 LeetCode 821 字符的最短距离(暴力)

    821. 字符的最短距离 给定一个字符串 S 和一个字符 C.返回一个代表字符串 S 中每个字符到字符串 S 中的字符 C 的最短距离的数组. 示例 1: 输入: S = "loveleet ...

  8. 基于Java毕业设计阳光社区新冠瘦苗接种系统源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计阳光社区新冠瘦苗接种系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计阳光社区新冠瘦苗接种系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构 ...

  9. java计算机毕业设计H5新冠防疫宣传网站设计与实现源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计H5新冠防疫宣传网站设计与实现源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计H5新冠防疫宣传网站设计与实现源码+mysql数据库+系统+lw文档+部署 本源 ...

最新文章

  1. NVIDIA TensorRT高性能深度学习推理
  2. 判断屏幕宽高比是否为16:9
  3. 漫画:三种 “奇葩” 的排序算法
  4. python输出乘法口诀-python以不同方式打印输出九九乘法表
  5. 3.1_栈_顺序存储结构(数组形式)
  6. gsl eclipse
  7. 15、HTML单行文本框
  8. 安装包镜像_创建 macOS Catalina cdr格式镜像安装包
  9. Neo4j【付诸实践 01】SpringBoot集成报错org.neo4j.driver.exceptions.ClientException:服务器不支持此驱动程序支持的任何协议版本(解决+源代码)
  10. WebSocket实现实时通信
  11. Python刷题之路,怎样做才能让技术突飞猛进
  12. 数据库笔记06:创建并管理数据表
  13. 开源协议栈 rlc rrc_LTE的组网架构与接口协议
  14. 金融matlab创建3x3数组,Matlatb金融时间序列工具箱——建立金融时间序列
  15. 美国AI出口限令倒计时,硅谷直喊“下手轻点”,担心推动中国技术发展
  16. C#图解教程(第4版)
  17. 向SourceView增加垂直行号标注
  18. 【BZOJ4991】我也不知道题目名字是什么(线段树)
  19. 相机标定原理介绍(二)
  20. c语言单元二实验报告,C语言实验报告.doc

热门文章

  1. 《童虎学习笔记》15分钟ShardingSphere搭建PostgreSQL分库分表
  2. 一文掌握常用的机器学习模型
  3. 录制手机屏幕并且转换成GIF(手机,模拟器)
  4. 2019ccpc哈尔滨站K题(数学期望) Gym - 102394K Keeping Rabbits
  5. 《scikit-learn》KMeans
  6. 解读《医疗器械监督管理条例》的重大改变
  7. 赚钱 36 计 - 简介
  8. 贾跃亭宣布FF2020年IPO:目前估值100亿美金 欠款仅8000万
  9. hist()函数:在x轴上绘制定量数据的分布特征
  10. (数据结构)树的Child表示法