LeetCode 1227. 飞机座位分配概率
题目描述
思路分析
解法一:概率递推结论(推荐)
核心思路:
- 第 1 位乘客随机选座:若选到自己的座位,问题结束;若选到第 n 位座位,最后一人必失败;否则问题规模等价缩小。
- 这种递推结构保证当 n >= 2 时,概率恒为 1/2。
- n == 1 时答案为 1。
复杂度分析:
- 时间复杂度:O(1)。
- 空间复杂度:O(1)。
class Solution {
public double nthPersonGetsNthSeat(int n) {
if (n == 1) {
return 1.0;
}
return 0.5;
}
}
func nthPersonGetsNthSeat(n int) float64 {
if n == 1 {
return 1.0
}
return 0.5
}
相似题目
| 题目 | 难度 | 考察点 |
|---|---|---|
| 808. 分汤 | 中等 | 概率 |
| 837. 新 21 点 | 中等 | 概率 / DP |
| 470. 用 Rand7() 实现 Rand10() | 中等 | 随机 |
| 528. 按权重随机选择 | 中等 | 随机 |
| 478. 在圆内随机生成点 | 中等 | 随机 |
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议,转载请注明出处!