目标
有 n 位乘客即将登机,飞机正好有 n 个座位。第一位乘客的票丢了,他随便选了一个座位坐下。
剩下的乘客将会:
- 如果他们自己的座位还空着,就坐到自己的座位上,
- 当他们自己的座位被占用时,随机选择其他座位
第 n 位乘客坐在自己的座位上的概率是多少?
示例 1:
输入:n = 1
输出:1.00000
解释:第一个人只会坐在自己的位置上。
示例 2:
输入: n = 2
输出: 0.50000
解释:在第一个人选好座位坐下后,第二个人坐在自己的座位上的概率是 0.5。
说明:
- 1 <= n <= 10^5
思路
飞机上有 n
个座位,第一位乘客的票丢了,它随机找了一个位置坐下。后面的乘客如果发现自己的位置空着就直接入座,否则随机找一个位置坐下,问最后一个人坐在自己位置上的概率是多少?
这是一个纯数学问题,使用数学归纳法可以证明概率为:n == 1 ? 1 : 0.5
。
代码