赛马问题 25匹马选出最快的5匹

赛马问题

一·问题描述

面试常见问题,现有25匹马,5条赛道,没有计时器的情况下,如何选出最快的5匹马
难点 :三匹马在筛选出第一名之后,需要比较的马不多。但如果要选出前5匹马,在选出第一名之后,经过筛选,留下的马还是很多,这个时候很多人就会因为不知道如何分组而手忙脚乱。

A组B组C组D组E组
A1B1C1D1E1
A2B2C2D2E2
A3B3C3D3E3
A4B4C4D4E4
A5B5C5D5E5

二·解题思路

1. 顺序选第一

分组选出5组,每组5匹马。每组分别比赛,然后组间第一再比赛。通过筛选之后再分组,选出Top2和Top3。下面分为Top3是C1和不是C1两种情况。

2. Top3是C1

将C1之后的进行比较决出Top4和Top5

3. Top3不是C1

先选出Top4,在选出Top5

三·解题过程

1.预筛选(6次)

25匹马分成5组,每组5匹马。每组分别比赛,然后每组第一再比赛。其中N1>N2>N3>N4>N5。组内有序,组间第一有序。

A组B组C组D组E组
A1B1C1D1E1
A2B2C2D2E2
A3B3C3D3E3
A4B4C4D4E4
A5B5C5D5E5

2.排除无效的马

因为要选出前5匹马。同时第一轮筛选得出关系A>B>C>D>E。所以E组可以排除E2,E3,E4和E5四匹马。
例如:E2要进Top5,先决条件是E1至少进入Top4,但是比E1快的有A1,B1,C1和D1四匹马。所以E1无法进入Top4,因此E2无法进入Top5。
同理排除以下红色的马

A组B组C组D组E组
Top1B1C1D1E1
A2B2C2D2E2
A3B3C3D3 E3
A4B4C4D4E4
A5B5C5D5 E5

剩余如下

A组B组C组D组E组
Top1B1C1D1E1
A2B2C2D2
A3B3C3
A4B4
A5

3.选出Top2和Top3(1次)

A组B组C组D组E组
Top1B1C1D1E1
A2B2C2D2
A3B3C3
A4B4
A5

表中存在快慢关系如下
A1>A2>A2
A1>B1>B2
A1>B1>C1
所以Top2和Top3只可能出现的A2,A3,B1,B2和C1这5匹马中(表中标红)。将这5匹马作为一组进行比赛可以选出Top2和Top3

4.C1出现的位置

现在我们关注C1出现的位置。因为存在快慢关系A1>B1>C1,所以C1出现的位置只有两种情况。C1要么是Top3(B1为top2),要么C1不是Top3

1.C1是Top3(1次)
A组B组C组D组E组
Top1Top2Top3D1E1
A2B2C2D2
A3B3C3
A4B4
A5

当C1是Top3时,存在快慢关系如下
C1>C2>C3
C1>D1>E1
D1>D2
基于以上关系,Top4和Top5只会出现在C2,C3,D1,D2和E1中(表中标红)。将这5匹马作为一组比赛可以决出Top4和Top5。

2.C1不是Top3(2次)

排除Top1,Top2和Top3之后将每组第一作为一组进行比赛,选出Top4之后,将Top4所在组的下一匹马加入进组再比一次选出Top5。
举例:假如选出的Top2是B1,Top3是A2
那么Top4所在的组就是A3,B2,C1,D1和E1(表中标红)

A组B组C组D组E组
Top1Top2C1D1E1
Top3B2C2D2
A3B3C3
A4B4
A5

假如选出的Top4是C1,那么Top5所在的组就是A3,B2,C2,D1和E1(表中标红)

A组B组C组D组E组
Top1Top2Top4D1E1
Top3B2C2D2
A3B3C3
A4B4
A5

5.特殊情况

当经过预筛选和排除无效的马,我们可以得到ABCDE这5组中最快的马是A1,同理BCDE这4组中最快的马是B1。那么可以比较A组中其余的马和B1,即比较A2,A3,A4,A5和B1。如果此时得到的结果恰好是B1最慢,即A2>A3>A4>A5>B1。那么最快的5匹马就是A组的5匹马,因为A组中所有马都比BCDE四组中最快的马快,所有A组的马比其余四组所有的马都快。此时,最快的5匹马顺序为A1,A2,A3,A4和A5。
PS:这种方法是最快的,只需要7次。但值得注意的是,这是一种特殊情况,不具有解题思路的代表性。

总结

在本次的赛马问题中,共有25匹马,5条赛道,要求选出最快的5匹马。加上特殊情况,需要的总次数在7次到9次之间。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值