• 面试常考概率题


    引自:https://www.cnblogs.com/lvjincheng/p/11361461.html

    题目1-10

    1. 如何在半径为1的圆中随机选取一点?

    2. 一根木棒,截成三截,组成三角形的概率是多少?

    3. 抛一个六面的色子,连续抛直到抛到6为止,问期望的抛的次数是多少。

    4. 一个木桶里面有M个白球,每分钟从桶中随机取出一个球涂成红色(无论白或红都涂红)再放回,问将桶中球全部涂红的期望时间是多少?

    5. 你有一把宝剑。每使用一个宝石,有50%的概率会成功让宝剑升一级,50%的概率会失败。如果宝剑的级数大于等于5的话,那么失败会使得宝剑降1级。如果宝剑的级数小于5的话,失败没有效果。问题是:期望用多少个宝石可以让一把1级的宝剑升到9级?

    6. 已知有个rand7()的函数,返回1到7随机自然数,怎样利用这个rand7()构造rand10(),随机1~10。

    7. 已知有个randM()的函数,返回1到M随机自然数,怎样利用这个randM()构造randN(),随机1~N。

    8. 已知一随机发生器,产生0的概率是p,产生1的概率是1-p,现在要你构造一个发生器,使得它产生0和1的概率均为1/2。

    9. 已知一随机发生器,产生的数字的分布不清楚,现在要你构造一个发生器,使得它产生0和1的概率均为1/2。

    10. 已知一随机发生器,产生0的概率是p,产生1的概率是1-p,构造一个发生器,使得它构造1、2、3的概率均为1/3;…。更一般地,构造一个发生器,使得它构造1、2、3、…n的概率均为1/n。

    答案

    1. 方法一:在x=[1,1]x=[−1,1]和y=[1,1]y=[−1,1]围成的正方形中随机取一点,若落在圆内则为所求的点;若不在圆内,则重新随机直到选到了为止。
      方法二:从[0, 2*pi)随机选取一个角度,再在这个方向的半径上随机选取一个点。但半径上的点不能均匀选取,选取的概率要和离圆心的距离成正比,这样才能保证随机点在圆内是均匀分布的。

    2. 三条边分别为xx、yy和1xy1−x−y,其满足0<x<10<x<1,0<y<10<y<1,0<1xy<10<1−x−y<1的条件,然后画图即可得到概率为1/2。

    3. 抛一次出现6的概率为$ p = frac{1}{6},P(k) = frac{1}{6} ^ {k-1} * frac{5}{6},满足几何分布,期望为E = frac{1}{p} = 6$。


    题目11-20

    1. 一个桶里面有白球、黑球各100个,现在按下述规则取球:
      i 、每次从桶里面拿出来两个球;
      ii、如果取出的是两个同色的求,就再放入一个黑球;
      iii、如果取出的是两个异色的求,就再放入一个白球。
      问:最后桶里面只剩下一个黑球的概率是多少?

    2. 10个人出去玩,集合时间有10分钟,每个人都在该时间内到达,概率均匀分布,彼此独立,那么最后一个人最有可能到达的时间是?

    3. 已知随机数生成函数f(),返回0的概率是60%,返回1的概率是40%。根据f()求随机数函数g(),使返回0和1的概率是50%,不能用已有的随机生成库函数。

    4. 100个人排队,每个人只能看到自己之前的人的帽子的颜色(假设只有黑白两色),每个人都得猜自己帽子的颜色,只能说一次,说错就死掉,别人可以听到之前的人的答案以及是否死掉。请问用什么策略说死掉的人最少。

    5. 54张牌,平均分成三堆,大小王在同一堆的概率?

    6. 买饮料,三个瓶盖可以换一瓶,请问要买100瓶饮料,最少需要买多少瓶?

    7. 有一个很大很大的输入流,大到没有存储器可以将其存储下来,而且只输入一次,如何从这个输入流中等概率随机取得m个记录。

    8. 在一条高速公路上,在30分钟内看到一辆汽车的可能性是0.95,那么在10分钟内看到一辆车的概率是多少?(假设过车的概率是恒定的)

    答案

      1. 黑球=0,白球=1,那么题目描述的就是数组内部的亦或运算,结果为0,也就是说只剩下一个黑球的概率是100%。

      2. 最后一个人在第n分钟到达的概率为:(1/10)×(n/10)9(1/10)×(n/10)9,当n取10的时候概率最大。

      3. 生成两个数,01和10的概率是相等的,用这两个直接映射0和1,如果是00或者11就直接丢弃继续实验。

      4. 最少能活99个人。
        最后一个人可以看到前面全部的信息,从最后一个人开始,若前面为【奇黑偶白】则报黑(自己有一半的存活概率),若前面【偶黑奇白】则报白(自己有一半的存活概率);
        对于倒数第2人来说,以最后1个人报黑为例,若看到【奇黑奇白】则自己一定为白也报白,若看到【偶黑偶白】则自己一定为黑也报黑;
        对于倒数第3人来说,以最后1个人报黑倒2报黑为例,若看到【奇黑偶白】则自己一定为白也报白,若看到【偶黑偶白】则自己一定为黑也报黑;如此下去。

      5. P()=3P(i|i)P(i)=317/531/3P(大小王在同一堆)=3∗P(大王在第i堆|小王在第i堆)∗P(小王在第i堆)=3∗17/53∗1/3。

      6. 三叉树结构,30+31+...+3n>10030+31+...+3n>100,解得n>4n>4,可见第3层的一部分和第四层后一部分需要自己买,第2层全部以及第3层前一部分都是可以兑换得到。设第四层有x个,则有
        x+x/3+27x/3=100(30+...+32)x+x/3+27−x/3=100−(30+...+32)
        解得x=60,所以总共买 x+33x/3=67x+33−x/3=67。
        还有一个思路:100个人,3人做一组,共33组,余1人,也即100/333, 100%31,3瓶水换一瓶,也即一组需要买两瓶(需要有一个作为启动),所以结论很明显了,100/33*2+1=67

      7. 对每个数据计算一次rand[0,1),维护一个m大小的小根堆,最后把前m大的数据作为记录。

      8. 陷阱在于不是30分钟内的前10分钟,而是任意10分钟。设10分钟内看不到车的概率为p,则30分钟内看不到车概率为 p3p3,那么有
        p3=10.95p3=1−0.95
        最后求 1p1−p 即可。答案是63.16%。

  • 相关阅读:
    每日总结
    每日总结
    《构建之法》读后感3
    每日博客
    每日博客
    每日博客
    每日博客
    预开发软件书
    每日博客
    每日博客
  • 原文地址:https://www.cnblogs.com/lyp1010/p/13472005.html
Copyright © 2020-2023  润新知