一道面试题
2015-09-01 15:13
239 查看
据说是腾讯的面试题,我也来试一下。
有36辆摩托车6个赛道,在没有计时器的情况下,如果要选出跑得最快的三辆车,至少需要几次比赛?
首先将36辆摩托车分为6组,每组分别进行一次比赛。这时候获得的信息有:每组的第一名,第二名,第三名…
因为只需要选出跑得最快的三辆车,这时候将每组的第一名划为A组,第二名划为B组,第三名划为C组。因为A组有可能有车是本组最快,但不是所有组的前三快。而剩下的后三组的后三辆一定不存在最快的前三辆车。
下面分组如下:
每组第一名:A1 A2 A3 A4 A5 A6
每组第二名:B1 B2 B3 B4 B5 B6
每组第三名:C1 C2 C3 B4 B5 B6
然后让A组进行一次比赛,假如获胜的是A1 A2 A3(并且他们的顺序也确定了,假如就是A1>A2>A3),那么A4 A5 A6以及他们的组内一定不存在前三快的车。所以舍弃。下面需要讨论的如下:
A1 A2 A3
B1 B2 B3
C1 C2 C3
又因为A1>A2>A3,所以有A1>A2>A3>B3>C3,因此B3、C3被淘汰掉,剩下分组如下:
A1 A2 A3
B1 B2
C1 C2
再比一下A2 A3 B1 B2 C1 C2就可以了。
总共是6+1+1=8
有36辆摩托车6个赛道,在没有计时器的情况下,如果要选出跑得最快的三辆车,至少需要几次比赛?
首先将36辆摩托车分为6组,每组分别进行一次比赛。这时候获得的信息有:每组的第一名,第二名,第三名…
因为只需要选出跑得最快的三辆车,这时候将每组的第一名划为A组,第二名划为B组,第三名划为C组。因为A组有可能有车是本组最快,但不是所有组的前三快。而剩下的后三组的后三辆一定不存在最快的前三辆车。
下面分组如下:
每组第一名:A1 A2 A3 A4 A5 A6
每组第二名:B1 B2 B3 B4 B5 B6
每组第三名:C1 C2 C3 B4 B5 B6
然后让A组进行一次比赛,假如获胜的是A1 A2 A3(并且他们的顺序也确定了,假如就是A1>A2>A3),那么A4 A5 A6以及他们的组内一定不存在前三快的车。所以舍弃。下面需要讨论的如下:
A1 A2 A3
B1 B2 B3
C1 C2 C3
又因为A1>A2>A3,所以有A1>A2>A3>B3>C3,因此B3、C3被淘汰掉,剩下分组如下:
A1 A2 A3
B1 B2
C1 C2
再比一下A2 A3 B1 B2 C1 C2就可以了。
总共是6+1+1=8
相关文章推荐
- 4大国外自由职业者项目外包网站
- 网友网易面试经历学习---阿冬专栏
- 程序员必备:技术面试准备手册
- 程序员之所以犯错误,不是因为他们不懂,而是因为他们自以为什么都懂。
- 黑马程序员--Java常见对象
- 每个程序员都要遵守的一些优秀编程风格
- 浅谈机器学习的职业发展方向
- 黑马程序员之集合框架2
- 黑马程序员之集合框架1
- 剑指offer-第七章面试案例1(字符串转换为整型)
- 剑指offer-第七章面试案例1(字符串转换为整型)
- 从程序员的角度来看为什么我们需要工作流 .
- 写给想当程序员的朋友
- 100个iOS开发/设计面试题汇总,你将如何作答?
- 网易校园招聘java面试经历
- 我的美国CS面试经验分享
- 面试知识储备_操作系统:处理机调度与死锁
- 面试题 两个表字段相同更新表A
- 程序员与10元盒饭的故事
- 剑指Offer面试题2:替换空格