n
passengers board an airplane with exactly n
seats. The first passenger has lost the ticket and picks a seat randomly. But after that, the rest of passengers will:
- Take their own seat if it is still available,
- Pick other seats randomly when they find their seat occupied
What is the probability that the n-th person can get his own seat?
Example 1:
Input: n = 1 Output: 1.00000 Explanation: The first person can only get the first seat.
Example 2:
Input: n = 2 Output: 0.50000 Explanation: The second person has a probability of 0.5 to get the second seat (when first person gets the first seat).
Constraints:
1 <= n <= 10^5
Companies:
Google
Related Topics:
Math, Dynamic Programming, Brainteaser, Probability and Statistics
Ref:
- https://leetcode.com/problems/airplane-seat-assignment-probability/discuss/411905/It's-not-obvious-to-me-at-all.-Foolproof-explanation-here!!!-And-proof-for-why-it's-12
- https://leetcode.com/problems/airplane-seat-assignment-probability/discuss/420455/Proof-without-mathThree-tiny-stories
// OJ: https://leetcode.com/problems/airplane-seat-assignment-probability/
// Author: github.com/lzl124631x
// Time: O(1)
// Space: O(1)
class Solution {
public:
double nthPersonGetsNthSeat(int n) {
return n == 1 ? 1 : 0.5;
}
};