1227 飛機座位分配概率

2022-05-13 09:15:58 字數 1210 閱讀 2909

有 n 位乘客即將登機,飛機正好有 n 個座位。第一位乘客的票丟了,他隨便選了乙個座位坐下。

剩下的乘客將會:

如果他們自己的座位還空著,就坐到自己的座位上,

當他們自己的座位被占用時,隨機選擇其他座位

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

示例 1:

輸入:n = 1

輸出:1.00000

解釋:第乙個人只會坐在自己的位置上。

示例 2:

輸入: n = 2

輸出: 0.50000

解釋:在第乙個人選好座位坐下後,第二個人坐在自己的座位上的概率是 0.5。

1 <= n <= 10^5

一看到這種題就是要數學分析

搞個函式f(n),很明顯有三種情況

0.5f(n-i+1)

我們分析f(n-i+1),發現有

f(n)

= 1/n + 0 + 1/n * (f(n-1) + f(n-2) + ... + f(2))

= 1/n * (f(n-1) + f(n-2) + ... + f(2) + 1)

= 1/n * (f(n-1) + f(n-2) + ... + f(2) + f(1))*****(1)

f(n-1) = 1/(n-1) * (f(n-2) + f(n-3) + ... + f(1))*****(2)

(1) ,(2) 兩邊分別同乘 n 和 n - 1

n * f(n) = f(n-1) + f(n-2) + f(n-3) + ... + f(1)******(3)

(n-1) * f(n-1) = f(n-2) + f(n-3) + ... + f(1)******(4)

(3)-(4)得

n * f(n) - (n-1)*f(n-1) = f(n-1)

=>f(n)=f(n-1)

這就爽了

class

solution:

def nthpersongetsnthseat(self, n: int) ->float:

return 1 if n==1 else .5

飛機座位分配概率

題目描述 有 n 位乘客即將登機,飛機正好有 n 個座位。第一位乘客的票丟了,他隨便選了乙個座位坐下。剩下的乘客將會 如果他們自己的座位還空著,就坐到自己的座位上,當他們自己的座位被占用時,隨機選擇其他座位 第 n 位乘客坐在自己的座位上的概率是多少?思路分析 1.第乙個乘客正確坐到第乙個位置,概率...

leetcode演算法題 飛機座位分配概率

假設有n個人,即n個座位,當第1個人入座時有三種情況 坐在第1位,2 n都正常入座 坐在第n位,2 n 1都正常入座,n坐在第1位 坐在第2 n 1位,此時後面的座位會受到影響 情況1和情況2出現的概率為1 n,情況3出現的概率為 n 2 n 對於情況3,假設第1人坐在第2位上,則其實對於第2個人來...

1227 分巧克力

兒童節那天有 k 位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友們。小明一共有 n 塊巧克力,其中第 i 塊是 hi wi 的方格組成的長方形。為了公平起見,小明需要從這 n 塊巧克力中切出 k 塊巧克力分給小朋友們。切出的巧克力需要滿足 形狀是正方形,邊長是整數 大小相同 例如一塊 6 5...