日期:2014-05-20  浏览次数:20610 次

百度面试题
同学去百度面试 面试官问了一个概率问题 dota两人开黑 随机到一边的概率 一开始我想两个人 先拿出一个 去近卫的概率是一半 另一个人去近卫的概率也是一半,这样两人都在近卫的概率是14 同理都去天灾也是1/4 所以结果是1/2 但后来同学又说一个人先随机 随机到近卫的概率是1/2 另一个人再随机 随到近卫的概率就是4/9 相乘就是2/9 那么最后结果肯定不一样了 求解答

------解决方案--------------------
你原来的想法代码类似下面,结果甚至可能是10v0
Java code
    boolean[] team = new boolean[10];
    Random rand = new Random();
    for (int i = 0; i < team.length; i++) {
      team[i] = rand.nextBoolean();
    }
    int count = 0;
    for (boolean b : team) {
      if (b) {
        count++;
      }
    }
    System.out.println(count);

------解决方案--------------------
这个答案好 百度来的


说4/9的 肯定是这么想的
第一个人在天灾的概率是1/2,而假设他在天灾了,于是第二个人在天灾的概率是4/9了
近卫同理,于是4/9
而事实上 第二个人如果魔兽内置没改变随机概率的话,到天灾的概率仍为1/2,知道天灾满人,那么到天灾的概率为0,近卫为1
这里的概率只有0,1/2,1 没有其他。