【趣味面试题系列】25匹马赛跑问题

题目大致是:

有25匹马,有一条赛道,每次比较5匹马的快慢,但没计时工具,问最少用多少次可以找到最快的3匹马。


个人分析的答案是7次。


以下是分析的详细内容。


(附:关系图中标颜色的部分表示被排除了)


1)首先把25匹马分为5组(A、B、C、D、E),每组5匹,分别比较快慢。得到如下结果

A1 > A2 > A3 > A4 > A5

B1 > B2 > B3 > B4 > B5

C1 > C2 > C3 > C4 > C5

D1 > D2 > D3 > D4 > D5

E1 > E2 > E3 > E4 > E5

注意:由于只需要前三名,因此每组中只有前三匹马可能参与后面的比较中。


2)从每组中选出最快的那匹马,共5匹,比较快慢,假设得到以下快慢关系

B1>A1>E1>C1>D1

综合1)我们可以得到如下的大小关系。

B1 > B2 > B3 > B4 > B5

V

A1 > A2 > A3 > A4 > A5

V

E1 > E2 > E3 > E4 > E5

V

C1 > C2 > C3 > C4 > C5

V

D1 > D2 > D3 > D4 > D5

这时,第一名已经出来了,那就是B1。

接下来我们需要确定第二名和第三名。由上面的大小关系,我们很容易得出二三名的候选者有B2、B3、A1、A2、E1这5匹马。


3)比较B2、B3、A1、A2、E1这5匹马,比较快慢。

假设得到的快慢关系为

A1>B2>A2>B3>E1

则前三名为B1、A1、B2。

注意:只有A1和B2可能为最终结果的第二名。


其他关系情况依次可以类推。






你可能感兴趣的:(面试题)