面试题思路,25匹马 5个跑道取前三,最少比赛次数--八次

  看到这道算法题感觉很有意思,手动推了下感觉网上的答案并不是很完美。

  首先,题目假定条件如题,并且比赛不记录时间, 马的比赛次数任意。

  解决方案:

  1,马分五组进行比赛,得到各组名次,并记录---- 5次

  2,取每组的前三名(共15匹),开始是每组的第三名进行比赛,只保留第一名。 

  3,淘汰的组用第二名补上,继续第二步骤的比赛 ,每次淘汰 4 匹,一共需要3次可以得到 前三名 (共8次比赛

决出前五名:则需要考虑一种特殊情况,随机分组时,分出了死亡之组(前5名里有四个以上在该组),如果在最后一次比赛之后,仍然有组参赛的是第三名,并且最终比赛第三名排名前两位,则派出4,5名加赛一次

猜你喜欢

转载自www.cnblogs.com/xueyudlut/p/11545112.html