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

剩下的乘客将会:

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

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

示例 1:

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

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

提示:

1 <= n <= 10^5

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/airplane-seat-assignment-probability
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

emm头脑不够用
没想出来

1.动态规划
很容易想到,如果第一个人正好坐在自己的位置,那么之后所有的人都会坐在自己的位置。
如果第一个人正好坐在第n个人的位置,那么第n个人没可能坐在自己的位置。
如果第一个人坐在除了自己位置以及第n个人的位置之外的任何位置,情况就如同n-1个座位情况。
所以转移方程为: dp[i] = 1 / i + (i - 2) / i * dp[i - 1]

var nthPersonGetsNthSeat = function(n) {
let dp = [0, 1];
for(let i = 2;i <= n;i++) {
dp[i] = (1 / i) + (dp[i - 1] * (i - 2) / i);
}
return dp[n];
};
2.数学法
上式通过数学归纳法发现
当n = 1时,概率为1,
其他情况,概率为0.5。

var nthPersonGetsNthSeat = function(n) {
if(n == 1) {
return 1;
}
return 0.5;
};

作者:virginiadb-Y0WqAUJ773
链接:https://leetcode-cn.com/problems/airplane-seat-assignment-probability/solution/dong-tai-gui-hua-fa-he-shu-xue-fa-by-virginiadb-y0/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

这个解释的比较详细

251、飞机座位分配概率相关推荐

  1. Java实现 LeetCode 1227 飞机座位分配概率

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

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

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

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

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

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

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

  5. leetcode1227.飞机座位分配概率

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

  6. 1227 飞机座位分配概率

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

  7. 【数据结构与算法】之深入解析“飞机座位分配概率”的求解思路与算法示例

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

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

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

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

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

最新文章

  1. range.clonecontents 不准确_家长注意!通州今起开展幼升小数据调查,不参加或影响明年入学...
  2. postman发送json请求,使用案例
  3. win10用一会就蓝屏重启_电脑出现蓝屏?教你如何解决
  4. kali linux 2019教程,[教程]KALI LINUX 2.0 2019 更新国内源
  5. 安卓工控主板运行时会自动重启_工控机日常维护的方法与步骤
  6. MySQL 性能方案
  7. Python机器人-最简单的机器人答复
  8. aac,ogg等音频测试文件下载地址
  9. 开发板上rmmod卸载驱动的时候,常见的错误总结
  10. Sqoop基于时间列的增量数据之LastModified方式
  11. Nature Microbiology | 王璋/陈荣昌/周宏伟-慢阻肺病呼吸道菌群-宿主互作机制
  12. 深度学习图片分类实战学习
  13. 正压控制单元KA5000F/风机节能仪KA5000F
  14. (JavaScript)贪婪模式和非贪婪模式(懒惰模式)
  15. 【目标跟踪】|Exemplar Transformers
  16. 【小嘟陪你刷题04】Java实现水花仙数、九九乘法表、金字塔
  17. 工程伦理第九章习题答案
  18. 如何用python做二维码识别软件_Python什么都能做(一)用 Python 做一个扫码工具...
  19. 国内外互联网地图常用的几种坐标系统:概念,原理和应用
  20. 诸葛越:云平台为创业者提供了更多机会

热门文章

  1. aviator 表达式对象跟JSON结合使用方法
  2. maven中阿里云镜像依赖无法加载的解决方案
  3. live Server的使用
  4. 如何来选择CCD相机和工业镜头
  5. Java Volatile 详解
  6. 李扬:“互联网+”时代的视频通信
  7. 【Algorithm】用JS刷剑指offer
  8. linux下的彩蛋和各种有趣的命令
  9. Xmind ZEN如何导出透明背景思维导图
  10. 如何将SIP链路Message短信转为CDMA短信通过SIGTRAN链路发送