@ 2021.02.14 , 01:08

脑力小体操:华尔街的校招面试题之二

因为上期的各种答案,字数有点多,为了避免头重脚轻,把第二期花街面试题放到最前面。

话说某投行老板家里有个泳池,这一天,老板还上中学的儿子要在自家泳池里做个科学课小实验,好完成网课作业。

有一个充好的小气球,气球下面有根线,线的另一头系着一个小砝码。小朋友把气球和砝码小心翼翼地放入泳池。

当水恰好没过气球之后,气球+砝码重物就悬浮在那里。说明此时气球+砝码的平均密度和水相当。

现在,小朋友用手轻轻地、缓慢但又坚定地向下压气球,气球向下位移一段距离后——此时砝码还未触底,再把手拿开。

现在问:气球+砝码会如何运动?

给出选项

  • A 气球向上运动,砝码向下运动;
  • B 气球砝码同步向上,回到最开始悬浮的位置;
  • C 气球砝码悬浮在当前位置;
  • D 气球砝码持续下沉,直到砝码触底

  • 上一期 华尔街的校招面试题之一

    已知一个黑箱里有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的朋友 写了详细的分析过程,但是因笔误反复修改,回复了很多字,花了很多时间,所以特别也摘录到这里

    卧槽 还是有点失误 C(5,2)那步算错了
    假设从一红球,二白球,三蓝球中先取出红球的概率同原问题等价
    从6个位置中取出1个位置来表示红球所在位置的组合,从剩下5个位置取出
    两个位置来表示白球所在位置的组合,共有C(6,1)*C(5,2)=60种组合
    当红球在第三个位置时,从位置1~2取出n个白球,位置4~6取出3-n个白球
    则先取出白球的组合为C(2,2)*C(3,0)
    类似的,当红球在第n个位置时,先取出白球的组合为An=C(n-1,2)*C(5-(n-1),0)
    先取出篮球的组合为Bn=C(n-1,3)*C(5-(n-1),0)
    当n=3时,A3=C(2,2)=1
    当n=4时,A4=C(3,2)=3,B4=C(3,3)=1
    当n=5时,A5=C(4,2)=6,B4=C(4,3)=4
    当n=6时,A5=B5=C(5,2)=10
    先取出红球的概率为(120-sum(An+Bn))/60=7/12

    赞一个 (7)