赛马问题公式推导..由浅入深,先来三个简单的逻辑例子。25匹马,五条赛道,选出最快的三匹。首先,你可以把25匹马分成5组,每组5匹,然后让每组进行一场赛马。这样,你就用了5场赛马,得到了每组的排名。然后,你可以让每组的第
1) 首先五五随机分组,每一组跑一场,记录每一场的最快马(方便起见标记为A1、B1、C1、D1、E1)。这样就跑了5场了;由于是找top3,那么很显然每一分组的最后两名可以直接淘汰(这很容易理解吧我就不解释了啊...) 2)单独把A1、B1、C1、D1、E1拎出来,来一场比试(这就是第6场了),咱们假设前三快是A1、B1...
肯定7 次 25匹马先设5组:假设A,B,C,D,E五组 跑5轮后选每组前3名进下一轮 每组第一名比赛一轮(第6圈)得出第一名(假设A1)第二名(假设B1)第三名(假设C1) 从(第6圈)第一名组中选出第二、三名(假设A2、A3)第二名组中选出第二名(假设B2)和(第6圈)的第二名(B1)第三名(C1)五匹马跑第7圈 ...
取这5匹马进行第7场比赛,第7场比赛的前两名就是25匹马 中的2、3名。故一共最少要赛7场。 这道题有一些变体,比如64匹马找前4名。方法是一样的,在得出第1名以后寻找后3名的候选竞争者就可以了。
10月前 133阅读 Google赛马问题 据说,这是Google的面试题。面试题目如下: 一共有25匹马,有一个赛场,赛场有5个赛道,就是说最多同时可以有5匹马一起比赛。假设每匹马都跑的很稳定,不用任何其他工具,只通过马与马之间的比赛,试问,最少得比多少场才能知道跑得最快的5匹马?(不能使用撞大运的算法) 很明显这是一...
D5E组 E1 E2 E3 E4 E5 这样,我们不但知道,A1是25匹马里最快的马,而且我们可以淘汰近一半的马,比如E2,E3,E4,E5就可以全部淘汰了,为什么呢,因为比E2快的马有A1,B1,C1,D1,E1这五匹马,所以,E2后面的马是无法进入前五名了;同理,D3和其后面的也进入不了前5;同理,C4,C5,B5都可以淘汰。
这样,我们不但知道,A1是25匹马里最快的马,而且我们可以淘汰近一半的马,比如E2,E3,E4,E5就可以全部淘汰了,为什么呢,因为比E2快的马有A1,B1,C1,D1,E1这五匹马,所以,E2后面的马是无法进入前五名了;同理,D3和其后面的也进入不了前5;同理,C4,C5,B5都可以淘汰。
有25匹马和5条赛道,赛马过程无法进行计时,只能知道相对快慢。问最少需要几场赛可以知道前3名。 图示: 25分成5组进行比赛选出ABCDE赛道的第一名进行第六次赛马,第一名则为25匹马中的第一名。若前三名是A、B、C组,则A组的2、3名,B组的1、2名,和C组的第1名,有可能是这整个25匹马中的第2、3名,总共...
问最少需要几场赛可以知道前3名。 图示: 25分成5组进行比赛选出ABCDE赛道的第一名进行第六次赛马,第一名则为25匹马中的第一名。 若前三名是A、B、C组,则A组的2、3名,B组的1、2名,和C组的第1名,有可能是这整个25匹马中的第2、3名,总共5匹马所以再比一次,进行第七场比赛,胜出的前两名,即整个...
这样,我们不但知道,A1是25匹马里最快的马,而且我们可以淘汰近一半的马,比如E2,E3,E4,E5就可以全部淘汰了,为什么呢,因为比E2快的马有A1,B1,C1,D1,E1这五匹马,所以,E2后面的马是无法进入前五名了;同理,D3和其后面的也进入不了前5;同理,C4,C5,B5都可以淘汰。 于是,在第六轮后我们可以得知,除了A1外...