腾讯面试题:64匹马,8个赛道,最少比几次找出跑得最快的4匹马

64匹马,8个赛道,最少比几次找出跑得最快的4匹马

其实这道题还是很烧脑的,我看到有人说可以计时的话就好了,那确实,8次就可以找到最快的四匹马;
但是,我们还是将问题严肃的思考一下,首先我们将64匹马分成48组,占用8个跑道,进行8个组的比赛,累计8次,这里我用别人的图来表示:】
腾讯面试题:64匹马,8个赛道,最少比几次找出跑得最快的4匹马
这里蓝色的视为淘汰的马,因为只需要我们算出最快的四匹马;
这个时候然后取8次跑的第一名进行比赛,然后淘汰掉后四名所在的组的所有马
因为,后四名所在的组的第一名没有跑过前四名的马,所以可以直接淘汰。累计9次
腾讯面试题:64匹马,8个赛道,最少比几次找出跑得最快的4匹马
这个时候还可以进行淘汰,因为D1是a1,a2,a3之后的排名,所以d2,d3,d4可以淘汰,第四名也可能出现在C2中,C2是所在组的第二名,那么C3,C4也可以淘汰了,根据这样进行分析,可以得到B4也可以淘汰了;

这个时候你就会发现最快的一匹马A1已经出来了,然后随便选出一匹马,剩余的8匹马进行比赛,决定出前三名,这三名选出来之后再和刚才选出来的那批进行比赛,选出前三名,于是决出前四名:总场数为8+1+1+1=11场;