列表

详情


1227. 飞机座位分配概率

n 位乘客即将登机,飞机正好有 n 个座位。第一位乘客的票丢了,他随便选了一个座位坐下。

剩下的乘客将会:

n 位乘客坐在自己的座位上的概率是多少?

 

示例 1:

输入:n = 1
输出:1.00000
解释:第一个人只会坐在自己的位置上。

示例 2:

输入: n = 2
输出: 0.50000
解释:在第一个人选好座位坐下后,第二个人坐在自己的座位上的概率是 0.5。

 

提示:

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: double nthPersonGetsNthSeat(int n) { } };

rust 解法, 执行用时: 2 ms, 内存消耗: 1.9 MB, 提交时间: 2024-10-04 08:30:05

impl Solution {
    pub fn nth_person_gets_nth_seat(n: i32) -> f64 {
        if n == 1 { 1.0 } else { 0.5 }
    }
}

cpp 解法, 执行用时: 0 ms, 内存消耗: 7.5 MB, 提交时间: 2024-10-04 08:29:42

class Solution {
public:
    double nthPersonGetsNthSeat(int n) {
        return n == 1 ? 1 : 0.5;
    }
};

java 解法, 执行用时: 0 ms, 内存消耗: 39.8 MB, 提交时间: 2024-10-04 08:29:23

class Solution {
    public double nthPersonGetsNthSeat(int n) {
        return n == 1 ? 1 : 0.5;
    }
}

javascript 解法, 执行用时: 76 ms, 内存消耗: 41.4 MB, 提交时间: 2022-11-26 17:44:41

/**
 * @param {number} n
 * @return {number}
 */
var nthPersonGetsNthSeat = function(n) {
    if (n <= 2) {
        return 1.0 / n;
    }
    let prob = 0.5;
    for (let i = 3; i <= n; i++) {
        prob = (1.0 + (i - 2) * prob) / i;
    }
    return prob;
};

golang 解法, 执行用时: 20 ms, 内存消耗: 1.8 MB, 提交时间: 2022-11-26 17:44:18

func nthPersonGetsNthSeat(n int) float64 {
    if n <= 2 {
        return 1 / float64(n)
    }
    prob := 0.5
    for i := 3; i <= n; i++ {
        prob = (1 + float64(i-2)*prob) / float64(i)
    }
    return prob
}

python3 解法, 执行用时: 380 ms, 内存消耗: 14.9 MB, 提交时间: 2022-11-26 17:43:57

class Solution:
    def nthPersonGetsNthSeat(self, n: int) -> float:
        if n <= 2:
            return 1 / n
        prob = 0.5
        for i in range(3, n + 1):
            prob = (1 + (i - 2) * prob) / i
        return prob

golang 解法, 执行用时: 0 ms, 内存消耗: 1.8 MB, 提交时间: 2022-11-26 17:43:26

func nthPersonGetsNthSeat(n int) float64 {
    if n == 1 {
        return 1.0
    }
    return 0.5
}

javascript 解法, 执行用时: 56 ms, 内存消耗: 40.8 MB, 提交时间: 2022-11-26 17:43:16

/**
 * @param {number} n
 * @return {number}
 */
var nthPersonGetsNthSeat = function(n) {
    return n === 1 ? 1.0 : 0.5;
};

python3 解法, 执行用时: 32 ms, 内存消耗: 14.9 MB, 提交时间: 2022-11-26 17:42:50

class Solution:
    def nthPersonGetsNthSeat(self, n: int) -> float:
        return 1.0 if n == 1 else 0.5

上一题