这个题很多人在没看过的情况下突然被面试官问及可能耗时较久,最近面试遇到了这个题,结合网上答案讲总结一下
第一步:25匹马分别编号 A1,A2,A3,A4,A5 B1,B2…
每一组进行比试进行排序,每组淘汰后两名(因为只有3个名额)
每组第一名分别为A1,B1,C1,D1,E1 (共比试5次得出)
第二步:每组第一比试一次,比如顺序为(A1>B1>C1>D1>E1 )得出第一和淘汰最后两名的列(小组第一都进不了前三,所以这一列都不会有前三产生)
第三步:因为C1比B1慢(所以C列只可能产生第三名),第二三名产生者可能是 A2,A3,B1,B2,C1 (为什么没有B3?因为此时只剩下两个名额),所以第7次由 A2,A3,B1,B2,C1赛跑,选出前两名,这样就得出前三名
最终需要跑7次
上述不难发现,把所有马每5匹比试一次后得到一个矩阵(A1>B1>C1>D1>E1 )
第二名: A2 , (A2, B1)
第三名:(A2 / B1)A3,B2,C1
第四名:第三名的参赛元素排除第三名后加上 A4,B3, C2, D1
第五名:…同上
上述所说规律是产生的范围值