腾讯QQ面试题:赛马问题

问题:有64匹赛马,有8个跑道可以利用,赛马的速度是恒定的,不计时但记录每次比赛的名词,请问赛几次可以取得速度排名前四的赛马?

 

解答:10到11次

 

开始没看懂题目,搞来搞去弄了半天,其实有了想法还是比较简单的。

 

主要的判断依据其实就是如果这匹马已经没有取得前四的机会了,就是至少有4匹马速度比它快,则它就不用再参加剩下的比赛了。

 

具体做法:

 

1.首先把64匹马随机分成8组,分别进行8次比赛,记录成绩。

 

2.再将每组第一名集合起来进行一次比赛。这是第九次比赛。

 

3.留下第九次比赛前四名的马所在的组。因为对于后四名的马所在的组来说根据判断原则没有一匹有机会进入前四的。

 

4.剩下的四组按照每组第一名在第九次比赛的成绩排序,这样按照判断原则,只剩下10匹马(如下)可能进入前4,而第一组的第一名肯定是跑最快的马。

 

第一组: 1 2 3 4
第二组: 1 2 3
第三组: 1 2
第四组: 1

 

这样问题就变成9匹马找出前三快的。情况好的话跑一次可以得到,不行的话两次。

 

所以结果是10或者11

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值