概率题 组合题 面试 笔试
本文总结了面试或笔试中可能考到的概率和组合题。
第1题
一个桶里面有白球、黑球各100个,现在按下述规则取球:
- i 、每次从桶里面拿出来两个球;
- ii、如果取出的是两个同色的求,就再放入一个黑球;
- iii、如果取出的是两个异色的求,就再放入一个白球。
问:最后桶里面只剩下一个黑球的概率是多少?
答:
动态规划,令f[i,j]表示有i个白球,j个黑球的概率。
已知f[100,100] = 1, 求f[0,1]。
拿到两个白球: f[i-2,j+1] = i/(i+j) * (i-1)/(i+j-1) * f[i,j]
拿到两个黑球: f[i, j-1] = j/(i+j) * (j-1)/(i+j-1) * f[i,j]
拿到一黑一白: f[i, j-1] =2 * i/(i+j) * j/(i+j-1) * f[i,j]
第2题
10个人出去玩,集合时间有10分钟,每个人都在该时间内到达,概率均匀分布,彼此独立,那么最后一个人最有可能到达的时间是?
答:
遇到这种想不明白,最好的方法就是枚举。
若最后一个人在10分钟到达(概率1/10),其他人也都已经到达了(概率是1),总概率是 19 * (1/10)
若最后一个人在9分钟到达(概率1/10),其他人到达的概率是 (9/10)9 ,总概率是 (9/10)9 * (1/10)
依此类推。可见概率最大的是第10分钟。
原文引自此处
第3题
已知随机数生成函数f(),返回0的概率是60%,返回1的概率是40%。根据f()求随机数函数g(),使返回0和1的概率是50%,不能用已有的随机生成库函数。
答:
调用f()两次即可,会出现4种结果(0,0), (0,1), (1,0), (1,1),其中出现(0,1), (1,0)的概率是一样的,可以构造出等概率事件,比如出现(0,1)可返回0,出现(1,0)可返回1,如果出现其他两种情况则舍掉重新调用。
原文引自此处
第4题
给定rand5(),实现一个方法rand7()。也即,给定一个产生0到4(含)随机数方法,编写一个产生0到6(含)随机数的方法。
答:
随机数函数的关键是确保产生每一个数的的概率相等。我们可用通过5 * rand5() + rand5()产生[0:24],舍弃[21:24],最后除以7取余数,则可得到概率相等的[0:6]的数值。
原文引自此处
第5题
100个人排队,每个人只能看到自己之前的人的帽子的颜色(假设只有黑白两色),每个人都得猜自己帽子的颜色,只能说一次,说错就死掉,别人可以听到之前的人的答案以及是否死掉。请问用什么策略说死掉的人最少。
答:
假设只有3个人,假设ture = 白,false = 黑,用这个公式x3 = (x1 == x2),用人话就是1和2的帽子颜色一样的话就说白,不一样的话就说黑。这个策略第一个人死的概率是1/2,剩下的两个都不会死。
推广到4个人,也就是x4 = (x3 == (x1 == x2)),照理可以推广到100人。但问题就是人很难判断,只能靠计算机来算。
另一个解题方法:“最后一个人看一下前面黑帽子的个数是奇数还是偶数,比如约定奇数说黑,偶数说白。这样前面的人都可以推断出来正确的结果。”
第6题
54张牌,平均分成三堆,大小王在同一堆的概率?
答:
C1652∗C1836∗C