Geek
majer @ 2021.02.14 , 01:08
脑力小体操:华尔街的校招面试题之二
因为上期的各种答案,字数有点多,为了避免头重脚轻,把第二期花街面试题放到最前面。
话说某投行老板家里有个泳池,这一天,老板还上中学的儿子要在自家泳池里做个科学课小实验,好完成网课作业。
有一个充好的小气球,气球下面有根线,线的另一头系着一个小砝码。小朋友把气球和砝码小心翼翼地放入泳池。
当水恰好没过气球之后,气球+砝码重物就悬浮在那里。说明此时气球+砝码的平均密度和水相当。
现在,小朋友用手轻轻地、缓慢但又坚定地向下压气球,气球向下位移一段距离后——此时砝码还未触底,再把手拿开。
现在问:气球+砝码会如何运动?
给出选项
上一期 华尔街的校招面试题之一
已知一个黑箱里有10个红球、20个白球、30个蓝球。它们除了颜色之外,其它方面都一模一样。我们每次可以伸手进去取出一个球,当然自己看不到所取球的颜色。
问:依次取球的时候,红球最先被取完的概率是多少?
就像很多评论指出的,这个问题来自微博上的万精油老师。原本有5道概率,但是我之后仅会再选用1道。
答案
Nitrome:
7/12,考虑最后一个球的颜色倒推就很简单。最后一个球是白球的概率为1/3,再抛开白球考虑剩下40个球的排序,蓝球排在最后的概率为3/4,3/4*1/3=1/4。再考虑最后一个球为蓝球的情况,1/2*2/3=1/3。1/4+1/3=7/12就是红球先取出的概率。
Wind 直接用程序验证了上面的答案:
简单粗暴python跑了1000000遍,概率是0.5837575757575758,对照上面大家给的答案,7/12最接近。
import random
c=['红']*10+['白']*20+['蓝']*30
noRedTime,noWhiteTime,noBlueTime=0,0,0
for i in range(1000000):
if(i>0 and i%10000==0):
print(noRedTime,noWhiteTime,noBlueTime,noRedTime/(noRedTime+noBlueTime+noWhiteTime))
r,w,b=10,20,30
while r>0 and w>0 and b>0:
k=random.choice(c)
#print(k)
if k=='红':
r-=1
elif k=='蓝':
b-=1
else:
w-=1
c.remove(k)
if r==0:
noRedTime+=1
elif b==0:
noBlueTime+=1
else:
noWhiteTime+=1
c=['红']*10+['蓝']*30+['白']*20
ID为 ALEX的朋友 写了详细的分析过程,但是因笔误反复修改,回复了很多字,花了很多时间,所以特别也摘录到这里