Skip to content

Latest commit

 

History

History
36 lines (18 loc) · 2.22 KB

001.赛马.md

File metadata and controls

36 lines (18 loc) · 2.22 KB

赛马

各大厂面试都喜欢出一道思维逻辑相关的题目来考察候选人。最近正值春招季,作为面试官,我也在面试中增加了一道思维题,只作为加分项。其中一道是经典的赛马问题,问了20个候选人,只有1个能分析出最终的正确答案,这20个候选人基本都是国内985高校的准毕业生。足见这道题还是有一定的难度的,既考察了候选人的思考过程,还能看出候选人在面对一个未知难题时的表现。本文我们来分析一下这道题目。

1. 题目描述

25匹马,5条赛道,每条赛道同时只能有一匹马跑,假设每匹马的水平都很稳定,在没有计时器的情况下最少需要比几场才能确定前三名。

2. 思路解析

25匹马分成5组,每组先进行一次比赛,这就要比5场。 这一步每个人都能想到。

我们给每个小组内进行完比赛的马进行标号 Ai > Bi > Ci > Di > Ei,其中5 >= i >= 1

五场比赛后确定了每个小组内的名次,接下来只需要把每个小组的第一名拿出来A1A2A3A4A5比一次,决出每个小组第一名的排名。假设结果是 A1 > A2 > A3 > A4 > A5,我们会得到下面的矩阵:

这样就能确定第一名是A1。(在这一步就很多同学想偏了,大部分的回答是从每个组选出前三名来再进行三次比赛)

根据上面的矩阵规律,可以确定第二名只能从B1A2之间产生,接下来我们针对这两种情况来进行分别讨论。

如果第二名是B1,那么第三名只能从A2C1之间产生。

如果第二名是A2,那么第三名只能从B1B2A3 之间产生。

所以只需要再将 A2A3B1B2C15匹马比一次就能确定第二名和第三名。

总共的比赛场次是5 + 1 + 1 = 7,最少需要比7场可以确定前三名。

平时工作中我们也要多主动思考,遇到问题多在纸上写写画画,说不定就有灵感了。