经典概率题:飞机座位分配问题(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 提交版)

相关推荐
urkay-2 小时前
Android 图片轮廓提取与重叠轮廓合并处理
android·算法·iphone
七七肆十九2 小时前
PTA 7-38 数列求和-加强版
数据结构·算法
SWAGGY..2 小时前
【C++初阶】:(5)内存管理
java·c++·算法
2301_800895102 小时前
第十二届蓝桥杯b组初赛--备战蓝桥杯版
职场和发展·蓝桥杯
Zarek枫煜2 小时前
zig与C3的算法 -- 桶排序
c语言·嵌入式硬件·算法
Rooting++3 小时前
C语言中的共用体应用场景
算法
We་ct3 小时前
LeetCode 4. 寻找两个正序数组的中位数:二分优化思路详解
前端·数据结构·算法·leetcode·typescript·二分
仍然.4 小时前
算法题目---位运算
算法
计算机安禾4 小时前
【数据结构与算法】第10篇:项目实战:学生信息管理系统(线性表版)
开发语言·数据结构·算法·visual studio