Skip to content

Latest commit

 

History

History
56 lines (42 loc) · 2.03 KB

README.md

File metadata and controls

56 lines (42 loc) · 2.03 KB

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

Solution 1.

Ref:

// 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;
    }
};