C++ 中飞机座位分配概率
假设 n 位乘客登上一架仅有 n 个座位的飞机。如果第一位乘客失去了机票,并且随机挑选了一个座位。但在登机后,其余的乘客将遵循以下操作 −
如果可能,坐到机票上写明的自己的座位上
当发现自己的座位已被占据时,随机挑选其他座位
因此,我们必须找到第 n 位乘客能够坐到自己座位的概率。因此,如果输入为 2,则输出为 0.5。因此,第二位乘客有 0.5 的概率坐到第二个座位(当第一位乘客坐到第一个座位时)。
为了解决这个问题,我们将遵循以下步骤 −
如果 n 等于 1,则返回 1,否则返回 0.5
示例 (C++)
让我们参看以下实现,以加深理解 −
class Solution {
public:
double nthPersonGetsNthSeat(int n) {
if (n == 1) return 1;
return 0.5;
}
};输入
2
输出
0.50000
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP