C++ 中飛機座位分配機率
假設 n 位乘客登上一架僅有 n 個座位的飛機。如果第一位乘客失去了機票,並且隨機挑選了一個座位。但在登機後,其餘的乘客將遵循以下操作 −
如果可能,坐到機票上寫明的自己的座位上
當發現自己的座位已被佔據時,隨機挑選其他座位
因此,我們必須找到第 n 位乘客能夠坐到自己座位的機率。因此,如果輸入為 2,則輸出為 0.5。因此,第二位乘客有 0.5 的機率坐到第二個座位(當第一位乘客坐到第一個座位時)。
為了解決這個問題,我們將遵循以下步驟 −
如果 n 等於 1,則返回 1,否則返回 0.5
示例 (C++)
讓我們參看以下實現,以加深理解 −
class Solution {
public:
double nthPersonGetsNthSeat(int n) {
if (n == 1) return 1;
return 0.5;
}
};輸入
2
輸出
0.50000
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP