2019愛奇藝機試題 紅藍球

2021-09-26 23:36:45 字數 1240 閱讀 4378

袋子中裝有n個紅球和m個藍球,a,b,c,三人依次抽取小球,若a抽到紅球則勝出,b抽到紅球則a失敗,c陪跑,純粹出來搗亂。但如果袋內紅球被抽完還未決斷勝負,則判定為b勝出。

求a勝出概率。

模擬抽球過程,採用遞迴的方式實現概率計算。

n, m =

(int

(x)for x in

input()

.split())

defprobability

(n, m, p)

:if n ==0:

#若沒有紅球,則勝率為0

return

0if m ==0:

#若沒有藍球,分情況判斷

if p ==

'a':

#該a抽,則勝出

return

1if p ==

'b':

#該b抽,則失敗

return

0if p ==

'c':

#該c抽,則判斷剩餘紅球數量

if n ==1:

#數量為1,則紅球被抽完,失敗

return

0else

:#數量不為1,則c抽完a抽,勝利

return

1if p ==

'a':

#若該a抽,條件概率計算如下

return n /

(n + m)

+ m /

(n + m)

* probability(n, m -1,

'b')

if p ==

'b':

#若該b抽,條件概率計算如下

return m /

(n + m)

* probability(n, m -1,

'c')

if p ==

'c':

#若該c抽,條件概率計算如下

return

(n /

(n + m)

)* probability(n -

1, m,

'a')

+(m /

(n + m)

)* probability(n, m -1,

'a')

win = probability(n, m,

'a')

#a開始抽

print

('%.5f'

%win)

通過率45%,遞迴超時,僅做參考

愛奇藝面試題

求字典序的最大子序 解題思路 例如乙個字串asdfghj,首先需要遍歷一遍字串,找到字典排序最大的s,然後接下來遍歷dfghj,找到最大的j。此時j是最後乙個字元,搜尋結束,字典排序最大的子字串即為sj。public static void main string args maxpos syste...

愛奇藝2019 校招筆試題 括號深度匹配

乙個合法的括號匹配序列有以下定義 1 空串 是乙個合法的括號匹配序列 2 如果 x 和 y 都是合法的括號匹配序列,xy 也是乙個合法的括號匹配序列 3 如果 x 是乙個合法的括號匹配序列,那麼 x 也是乙個合法的括號匹配序列 4 每個合法的括號序列都可以由以上規則生成。例如 都是合法的括號序列 對...

愛奇藝2019校園招聘演算法類崗位筆試題目回憶版本

第一種題型 不定項選擇 1 設hash表長為11,雜湊函式為hash key key 11。存在關鍵碼,採用二元探測法處理衝突,則建立的hash表為 解析 採用開放定址法處理衝突中的二次探測再雜湊 也即是題目中的二元探測法 則雜湊函式變為hash key hash key d 11,其中d 1 2,...