经典概率题:飞机座位分配问题(LeetCode 1227)超详细解析

一、题目背景与描述

这是一道非常经典的概率与逻辑推理面试题,也是 LeetCode 第 1227 题「飞机座位分配概率」。

题目描述

有 n 位乘客即将登机,飞机正好有 n 个座位。

  • 第一位乘客的票丢了,他随机选一个座位坐下。
  • 剩下的乘客:
    1. 如果自己的座位还空着,就坐回自己的座位。
    2. 如果自己的座位被占用了,就随机选择其他空位坐下。

问:第 n 位乘客坐在自己座位上的概率是多少?

二、直觉与误区

很多人第一反应会觉得:

「乘客越多,概率是不是会越来越小?比如趋近于 0?或者和 1/n 相关?」

但实际上这道题的结论非常反直觉:无论 n 是多少(n ≥ 1),第 n 位乘客坐回自己座位的概率恒为 0.5(当 n ≥ 2 时),n=1 时为 1.0。

三、核心推理思路(一张图秒懂)

四、代码实现

核心结论

  • 当 n == 1 时,返回 1.0
  • 当 n >= 2 时,返回 0.5

C++ 代码(LeetCode 提交版)

相关推荐
罗西的思考2 分钟前
【轻量化复刻大模型】线性注意力交互式演示
人工智能·算法·机器学习
神也畏惧菠萝12 分钟前
Day08 Python流程控制从入门到上瘾:if/match/while/for四件套,从B站登录一路打到猜数字游戏
python·算法·数据存储·for·while·if·ifelse
揽星河..35 分钟前
【C语言】分支和循环
c语言·c++·算法
Fuyo_11192 小时前
C++ AVL树保姆级详解:从平衡因子到四大旋转机制
java·c++·算法
jktantan2 小时前
每个节点 41 字节:把一棵百万节点树拆进 14 个 typed array
前端·javascript·vue.js·算法·typescript
揽星河..3 小时前
【C语言】猜数字游戏
c语言·算法·游戏
frjc3 小时前
分布式服务拆分实战指南:从底层逻辑到面试话术
微服务·面试·职场和发展
LabVIEW开发3 小时前
CTM-3 红外测温仪 + LabVIEW 温度怎么测?
算法·labview·测试·labview程序
纪念 2294 小时前
C++算法(六)
开发语言·c++·算法