2021.07.18 第一场笔试
一共20道单选,5道编程,90min。
感觉整体难度不是很大,奈何第一次参加笔试着实有点紧张,发挥不太好,简单总结记录一下。
五道算法题分别是:
17. 电话号码的字母组合
剑指 Offer 42. 连续子数组的最大和
20. 有效的括号
322. 零钱兑换
84. 柱状图中最大的矩形
算法题不多说。选择题里有两道概率题让我印象比较深刻,考试的时候脑子有点懵没太想明白,结束后仔细琢磨了一下。
题1:如果在高速公路上30分钟内到一辆车开过的几率是0.95,那么在10分钟内看到一辆车开过的几率是多少()?
这个回答很清楚,不多解释了
题2:某病毒的感染率是1%,一种试剂的检出率是99%(正确检出阳性和正确检出阴性的概率都是99%),小明检出阳性,那么他实际感染的概率是多少?
其实就是计算后验概率,代入贝叶斯公式算一下就出来了:
A->感染,B->检出,P(A|B)=P(A)P(B|A)/P(B)
其中,P(A)=0.01(感染概率),P(B|A)=0.99(感染并检测为阳性),P(B)=0.01×0.99+(1-0.01)×0.01(感染且检测为阳性+未感染且检测为阳性)
所以P(A|B)=P(A)P(B|A)/P(B)=0.5
虽然算出来了,但是结果实在有点反直觉:用检出率为99%的试剂检测阳性后,能判断确实感染的概率还是只有50%,这不就和不用检测直接瞎猜猜对的概率一样?
为了更直观地理解这个问题,带入具体的数据就很清楚了:假设有10000人,感染人数100人,未感染9900人,检测阳性的有100×0.99+9900×0.01=198人,小明就是这198人之一,那么他实际感染的概率只有99/198=0.5
总人数10000人 | 感染100 | 未感染9900 |
---|---|---|
检出阳性 | 99 | 99 |
检出阴性 | 1 | 9801 |