一道经典面试题:64匹马,8个赛道,找出最快的4匹马,不使用计时器,需要比赛多少轮?答案是10轮。此题解法分为三个阶段:1. 将64匹马分为8组,每组8匹马进行比赛,淘汰每组的5至8名,选出每组的前4名。2. 将选出的32匹马分为8组,每组4匹马进行比赛,淘汰每组的3至4名,选出每组的前3名。
64匹马8个跑道最少需要多少轮才能选出最快的4匹马?这是在⽹上见到的⼀道腾讯⾯试题 先说结论: 1. 计时的情况下需要⽐赛8轮; 2.不计时的情况下最少需要10轮,最多需要11轮。1 ⽤秒表计时的话,64匹分8组。 8轮就出来了 2:不能计时的情况下 先说下思路:⼀:把64匹马分8组,各...
只要从上面的9匹马中找出跑得最快的三匹马就可以了,但是现在只要8个跑道,怎么办? 此时我们可以把接下来的比较分为两种情况:因为我们前面已经知道了A1>B1>C1>D1,此刻我们假设D1是第四名,那么需要比较的是A2、B2、C2、A3、B3、A4、D1,如果D1在此组跑最快,则可以知道D1就是第四名(因为前面我们已经知道了...
第二步:找出最快的那区马 现在得到每个小组最快的马:a1、b1、c1、d1、e1、f1、g1、h1比赛,最快的那匹马就是第一名。 这一步我想大多数人都能理解是怎么回事。 第三步:找出第二、第三、第四快的马(解题的重点,划重点了。考试必考) 假设:a1、b1、c1、d1、e1、f1、g1、h1比赛,a1跑的最快,那么就...
无论A12和A21哪个胜出,情况其实是一样的,如图 Figure.3和 Figure.4,第3、4名只需要从绿色部分序号代表的马中决出,绿色部分正好有8个格子,一次比赛就可以决出,所以第11轮就可以判断出64匹马中最快的4匹马。 得到11这个答案后感觉应该找度娘确认一下,发现网上有更好的答案:10轮或者11轮比较。
有网友就回答到。随机分八组比赛,这是8场了,把每组第一名拿出来跑一场,每次把第一名选出来,把所在组的后一名拿出来补位,跟剩下的跑,这样跑4次就ok了。总共12次。不知道对不对 也有网友分析到。64分8组比8场,淘汰每组后四名;8个第一比1场,淘汰后四名所在组;剩余16匹马中有一个确定冠军,除此之外还剩...
之前看到了一道面试题:64匹马,8个赛道,找出最快的4匹马,不使用计时器等工具,需要比赛多少轮? 看了很多其他优秀回答者的思路大概是这样的: ①先将64匹马分成8组,每组组内比赛得出每组的1-8名。 其中每组第5名开始因为已经失去前4的资格而被淘汰。(灰色为被淘汰部分) ...
那也就是每一匹都得先跑一次,64匹,8个赛道,那就先分8组跑8次。 每一组都会得到8匹的相对速度,也就是在同一组内的名次。 为了方便描述,我们用编号来表示。如A组里面的名次分别用来表示。 因为我们只需要找出最快的4匹,那么肯定不属于最快的4匹,同理把每一组的后4名先排除。
因为每匹马都至少得跑一次,而我们只需要选出最快的4匹,所以首先肯定得跑8场,每场淘汰4匹马。之后我们很容易想到将两组获胜的4匹马进行组合比赛,就可找到最快的4匹马。 这样解题,共需4轮15次,但不是最优解。 正确答案解析 第一轮:8场 把64匹马随机分为8组,总共比8场,淘汰每组后4名。为方便可视,我将马...
64匹马,8个赛道,找出跑的最快的4匹马,至少比赛几场? 一共需要5场就够了 第一步:前4场每一场跑16匹,8条赛道每条跑道的中点放两匹马,这两匹马屁股对屁股,一匹马朝起点跑,一匹马朝终点跑,8条跑道就是16匹马,这16匹马同时开始跑,取出最先完成的4匹马,4场就能取出16匹马 ...