1227. 飞机座位分配概率

有 n 位乘客即将登机,飞机正好有 n 个座位。第一位乘客的票丢了,他随便选了一个座位坐下。

剩下的乘客将会:

如果他们自己的座位还空着,就坐到自己的座位上,

当他们自己的座位被占用时,随机选择其他座位
第 n 位乘客坐在自己的座位上的概率是多少?

示例 1:

输入:n = 1
输出:1.00000
解释:第一个人只会坐在自己的位置上。
示例 2:

输入: n = 2
输出: 0.50000
解释:在第一个人选好座位坐下后,第二个人坐在自己的座位上的概率是 0.5。

提示:

1 <= n <= 10^5
PS:

   分析:(头和尾属于特殊乘客我们单独分析)如果 n = 5,中间的 3 个人至少有 2 个人会坐在自己的座位上如果 n = 9,中间的 7 个人至少有 6 个人会坐在自己的座位上因为第一个丢票的人,最多只能占据中间有票的一个座位所以在 3 以上的情况无论 n = ?,都简化为了 n = 3,求下面三种情况的概率之和1.如果第一个人坐在自己的座位上- 第一个人坐在自己的座位上的概率为 1/3,接着第二个人的座位是空的,这时候,第二个人会坐到自己的座位上,所以最后一个乘客坐到自己的座位的概率是 1/1,这种情况的概率是 1/3 * 1/12.如果第一个人坐在第二个有票乘客的座位上- 第一个人坐在第二个乘客的座位上的概率为 1/3,这时候第二个乘客的座位是空的,他会随便坐,他没有坐到最后一个乘客座位的概率是 1/2,这时候,最后一个乘客只有一个自己的座位了,可以坐上,这种情况的概率是 1/3 * 1/23.如果第一个人坐在第三个乘客的座位上- 第一个人坐在第三个有票乘客的座位上的概率为 1/3,这时候可以确定最后一个乘客一定不会坐到自己的座位上了,这种情况的概率是 1/3 * 0将以上情况的概率相加即为 n = 3 以上情况的答案:1/3 * 1/1 + 1/3 * 1/2 + 1/3 * 0 = 0.5
class Solution {public double nthPersonGetsNthSeat(int n) {return n == 1 ? 1:0.5;}
}

Java实现 LeetCode 1227 飞机座位分配概率相关推荐

  1. 【Java】LeetCode 1227. 飞机座位分配概率——数学好一行解决

    有 n 位乘客即将登机,飞机正好有 n 个座位.第一位乘客的票丢了,他随便选了一个座位坐下. 剩下的乘客将会: 如果他们自己的座位还空着,就坐到自己的座位上, 当他们自己的座位被占用时,随机选择其他座 ...

  2. LeetCode 1227. 飞机座位分配概率(DP+数学归纳法)

    1. 题目 有 n 位乘客即将登机,飞机正好有 n 个座位.第一位乘客的票丢了,他随便选了一个座位坐下. 剩下的乘客将会: 如果他们自己的座位还空着,就坐到自己的座位上, 当他们自己的座位被占用时,随 ...

  3. LeetCode 1227. 飞机座位分配概率

  4. 【LeetCode】1227. 飞机座位分配概率

    一.题目描述 有 n 位乘客即将登机,飞机正好有 n 个座位.第一位乘客的票丢了,他随便选了一个座位坐下. 剩下的乘客将会: 如果他们自己的座位还空着,就坐到自己的座位上, 当他们自己的座位被占用时, ...

  5. 1227 飞机座位分配概率

    题目描述 : 有 n 位乘客即将登机,飞机正好有 n 个座位.第一位乘客的票丢了,他随便选了一个座位坐下. 剩下的乘客将会: 如果他们自己的座位还空着,就坐到自己的座位上, 当他们自己的座位被占用时, ...

  6. Leetcode-1227. 飞机座位分配概率

    链接 1227. 飞机座位分配概率 题目 有 n 位乘客即将登机,飞机正好有 n 个座位.第一位乘客的票丢了,他随便选了一个座位坐下. 剩下的乘客将会: 如果他们自己的座位还空着,就坐到自己的座位上, ...

  7. Leetcode 1227:飞机座位分配概率

    题目描述 有 n 位乘客即将登机,飞机正好有 n 个座位.第一位乘客的票丢了,他随便选了一个座位坐下. 剩下的乘客将会: 如果他们自己的座位还空着,就坐到自己的座位上, 当他们自己的座位被占用时,随机 ...

  8. leetcode算法题--飞机座位分配概率

    原题链接:https://leetcode-cn.com/problems/airplane-seat-assignment-probability/ 假设有n个人,即n个座位,当第1个人入座时有三种 ...

  9. 251、飞机座位分配概率

    题目描述: 有 n 位乘客即将登机,飞机正好有 n 个座位.第一位乘客的票丢了,他随便选了一个座位坐下. 剩下的乘客将会: 如果他们自己的座位还空着,就坐到自己的座位上, 当他们自己的座位被占用时,随 ...

最新文章

  1. 深入理解MFC消息循环和消息泵的原理
  2. Android studio编译出现Failed to finalize session : INSTALL_FAILED_INVALID_APK
  3. 省选+NOI 第六部分 技巧与思想
  4. Linux信号实践(1) --Linux信号编程概述
  5. OpenCV2和OpenCV3兼容安装
  6. 运行 sudo 时会发生什么?
  7. Spring Boot 核心原理与源码解析-大纲
  8. Go 类型转换、类型断言与类型选择
  9. Vitamin-R for Mac(GTD工作效率管理工具)
  10. Windows下IIS中不能添加网站
  11. 网络工程师之子网划分
  12. Excel 合并两列时间,中间用分隔符连接
  13. Python模块selenium实例:电影分类排名数据生成json,sqlite和excel(openpyxl)文件(二)
  14. 1588 1-Step 和 2-Step PTP 之间有什么区别?
  15. 网站服务安全访问(HTTPS)
  16. 成语接龙和唐诗背诵文字游戏开发
  17. linux怎么进入sftp命令行,Linux中SFTP命令
  18. 梯度下降及python实现
  19. Reinforcement Learning | 强化学习十种应用场景及新手学习入门教程
  20. Axure RP9——【导航栏二级菜单的展开效果】

热门文章

  1. 高通平台android kernel 开机logo显示和传统linux一样
  2. 腾讯搜搜孙良:“情境搜索”更懂你
  3. Vue适合新人玩家的小项目~~~闲暇之余就是玩儿
  4. BPR实施中常用的五大手法
  5. 初来此处,给大家带来一个奇怪的ie bug,兼对比ie和ff ajax处理方式
  6. 互联网不再是一片净土,背后有一滩让人难以接受的污水!
  7. 调用父页面的元素或js方法
  8. 正则表达式 ~ 英文单词和中文之间添加空格。
  9. eclipse编辑器 取消红色波浪线
  10. 目标检测项目中面对高分辨率图像的滑动窗口技术(二)(代码开源,超简便API封装,直接调用进行切图及保存)