假設有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個人來說,此時問題規模為n-1(1和3 ~ n),其實分析後發現,當2坐在第1位時,3 ~ n都會正常入座,和第1位本來就是2的座位效果相同。那麼我們如果把座位1看做本來就是2的座位,那麼情況就變成了問題規模為n-1的原問題了,於是有遞推式:
f(n)
=1/n+(n-2)/n*f(n-1)
由遞推式我們可以寫出遞迴**:
double
nthpersongetsnthseat
(int n)
飛機座位分配概率
題目描述 有 n 位乘客即將登機,飛機正好有 n 個座位。第一位乘客的票丟了,他隨便選了乙個座位坐下。剩下的乘客將會 如果他們自己的座位還空著,就坐到自己的座位上,當他們自己的座位被占用時,隨機選擇其他座位 第 n 位乘客坐在自己的座位上的概率是多少?思路分析 1.第乙個乘客正確坐到第乙個位置,概率...
1227 飛機座位分配概率
有 n 位乘客即將登機,飛機正好有 n 個座位。第一位乘客的票丟了,他隨便選了乙個座位坐下。剩下的乘客將會 如果他們自己的座位還空著,就坐到自己的座位上,當他們自己的座位被占用時,隨機選擇其他座位 第 n 位乘客坐在自己的座位上的概率是多少?示例 1 輸入 n 1 輸出 1.00000 解釋 第乙個...
LeetCode 演算法題
給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...