251、飞机座位分配概率
題目描述:
 有 n 位乘客即將登機,飛機正好有 n 個座位。第一位乘客的票丟了,他隨便選了一個座位坐下。
剩下的乘客將會:
如果他們自己的座位還空著,就坐到自己的座位上,
當他們自己的座位被占用時,隨機選擇其他座位
 第 n 位乘客坐在自己的座位上的概率是多少?
示例 1:
輸入:n = 1
 輸出:1.00000
 解釋:第一個人只會坐在自己的位置上。
 示例 2:
輸入: n = 2
 輸出: 0.50000
 解釋:在第一個人選好座位坐下后,第二個人坐在自己的座位上的概率是 0.5。
提示:
1 <= n <= 10^5
來源:力扣(LeetCode)
 鏈接:https://leetcode-cn.com/problems/airplane-seat-assignment-probability
 著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
emm頭腦不夠用
 沒想出來
1.動態規劃
 很容易想到,如果第一個人正好坐在自己的位置,那么之后所有的人都會坐在自己的位置。
 如果第一個人正好坐在第n個人的位置,那么第n個人沒可能坐在自己的位置。
 如果第一個人坐在除了自己位置以及第n個人的位置之外的任何位置,情況就如同n-1個座位情況。
 所以轉移方程為: dp[i] = 1 / i + (i - 2) / i * dp[i - 1]
var nthPersonGetsNthSeat = function(n) {
 let dp = [0, 1];
 for(let i = 2;i <= n;i++) {
 dp[i] = (1 / i) + (dp[i - 1] * (i - 2) / i);
 }
 return dp[n];
 };
 2.數學法
 上式通過數學歸納法發現
 當n = 1時,概率為1,
 其他情況,概率為0.5。
var nthPersonGetsNthSeat = function(n) {
 if(n == 1) {
 return 1;
 }
 return 0.5;
 };
作者:virginiadb-Y0WqAUJ773
 鏈接:https://leetcode-cn.com/problems/airplane-seat-assignment-probability/solution/dong-tai-gui-hua-fa-he-shu-xue-fa-by-virginiadb-y0/
 來源:力扣(LeetCode)
 著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
這個解釋的比較詳細
總結
以上是生活随笔為你收集整理的251、飞机座位分配概率的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 2007-2020年全国各省国有化程度数
- 下一篇: 黑马程序员-JAVA基础学习日志——通篇
