滴滴出行2017秋招算法笔试题(作弊概率)
来源:互联网 发布:数据资产安全管理指引 编辑:程序博客网 时间:2024/04/29 06:08
一、前言
最近博客的更新频率也挺快的,希望自己能坚持下去。每周一篇面试题,这周的面试题是算法笔试题,面试题不知不觉也写了几个月了,不难发现,那些大企业都喜欢考算法题。
二、题目
一位滴滴实习生开发出了一套简易作弊检测系统,此系统存在一定误差。如果一个用户确实存在作弊行为,但是此系统没有检测出的概率为 5 %,但是误检为作弊的概率为 1 %;我们已经知道,一个用户作弊的概率为 0.1 % 。目前一个人被此方法检测出有作弊,那此人确实有作弊的概率接近多少?
A. 90%
B. 70%
C. 30%
D. 10%
三、解题
这道题单凭想,还是挺容易选错的。而且还需知道贝叶斯定理。
贝叶斯定理是关于随机事件 A 和 B 的条件概率的一则定理
其中 P(A|B) 是在 B 发生的情况下 A 发生的可能性
在贝叶斯定理中,每个名词都有约定俗成的名称:
P(A|B) 是已知 B 发生后 A 的条件概率,也由于得自 B 的取值而被称作 A 的后验概率。
P(B|A) 是已知 A 发生后 B 的条件概率,也由于得自 A 的取值而被称作 B 的后验概率。
P(A) 是 A 的先验概率(或边缘概率)。之所以称为”先验”是因为它不考虑任何 B 方面的因素。
P(B) 是 B 的先验概率或边缘概率。
知道了这个后,我们可以直接套公式:
设:
A 代表实际作弊了
B代表被检测作弊了
用!表示取反,P(!B|A) = 0.05 P(B|!A)=0.01 P(A) = 0.001
P(B|A) = 0.95 P(!A) = 0.999
由贝叶斯定理 P(A|B) = (P(B|A)P(A))/P(B) 用全概率替换分母: P(A|B) = (P(B|A)P(A)) / (P(B|A)P(A) + P(B|!A) P(!A)) =(0.950.001) / (0.950.001+0.01*0.999) =0.0868
所以最后的答案选择 D ,接近 10%
可能还是不能很好的理解这道题的,最后我们根据题意画成图,因为比例较小,不好画,因此本人适当的进行了放大。
因为选项的答案相差比较大,如果画的标准的话,基本看图也能看出答案来的了。
四、类似题目
一机器在良好状态生产合格产品几率是90%,在故障状态生产合格产品几率是30%,机器良好的概率是75%,若一日第一件产品是合格品,那么此日机器良好的概率是多少。
当然,直接套公式很容易做出来,不过我们为了更好的理解,下面给出题意图,各位尝试做出来吧。
- 滴滴出行2017秋招算法笔试题(作弊概率)
- 滴滴出行2017秋招算法笔试题(作弊概率)
- 滴滴出行2017秋招笔试题
- 滴滴出行2017秋招编程题
- 滴滴出行2017秋招笔试--餐馆消费问题
- 滴滴出行2017秋招笔试真题-编程题汇总
- 【牛客网】滴滴出行2017秋招测试岗笔试真题汇总
- 名企笔试:滴滴出行2017秋招笔试(餐馆消费问题)2017-03-06 算法爱好者
- 滴滴出行秋招笔试(0的个数)
- 2017滴滴出行校园招聘笔试题
- 滴滴出行2017春招研发工程师笔试题-翻转单词顺序
- 滴滴出行2017春招研发工程师笔试题-套娃
- 【滴滴出行2017春招研发工程师笔试题】俄罗斯套娃
- 滴滴2017秋招笔试题-1001
- 滴滴2017秋招笔试刷题
- 给出01数组计算出符合岛屿规则的个数 [牛客网-滴滴出行2017春招算法工程师笔试题B卷 ]
- 滴滴2017校招算法工程师笔试题--吃饭问题
- 滴滴出行2017秋招笔试编程题(一)——连续最大和、末尾0的个数、进制转换
- App开发模式比较
- redis 常用命令
- 欢迎使用todolist
- lnmp下mysql创建新用户授权后登录报错 1045 Access denied for user 'name'@'localhost
- 【Java基础】枚举和注解
- 滴滴出行2017秋招算法笔试题(作弊概率)
- 爬取今日头条街拍
- 并归排序
- 空间多边形顺逆时针的判断
- 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)
- CNN基础
- 【Java基础】泛型
- No mapping found for HTTP request with URI [/ss1/] in DispatcherServlet with (SSM)
- \r\n,\n,\r的历史及在不同系统下的区别