大厂面试真题顺序

64匹马,8条赛道,找出前4名,最少多少场?

好了,逻辑算法问题,考验逻辑思维能力的时候到了!!

情况分析1:计时赛

根据题目,我们很快发现,这个题目其实是“发散”的,没有一堆“条条框框”。

好吧,那我们就“聪明”一点,假设是“计时赛”!

很好,64匹马,8条赛道,所以按照时间最快的4匹马只需要8场比赛~

很明显,腾讯的大厂不可能这么沙雕吧?!所以在不排除这种情况的前提下,一定要考虑“不计时审判”的解决逻辑,这样更符合“大厂气质”~

情况分析1:非计时赛

如果不是计时赛,那显然很复杂,但是越复杂我们越能变聪明,对吧?!

首先,我们利用算法中常用的“分而治之”的思想,将64匹好马驹分成8组,就A、B、C、D、E、F、G、h。

每组8匹,依次编号:A1,A2,A3,以此类推~

然后,准备工作完成,我们开始放马跑。

64匹马,8组,8条赛道。

第一步(* * *跑8次):8组各跑一次,保留每组前4(黄色区域),然后淘汰每组后4(蓝色区域)。

问题:

你为什么在八个组中都淘汰了最后四名?

答:

注意题目,我们只需要跑得最快的前四名,所以每组淘汰后四名,因为前四名绝对不会出现在蓝色区域的马身上!

第二步(* * *跑了1次):取每组的1进行一场比赛,然后淘汰最后4组的所有马。

问题:

为什么每组第1名跑者跑了一次,第4名跑者淘汰后在组里?

答:

正如我们所知,在赛马的第一步之后,我们已经得到了八个小组的排名。

但是8组,哪组更厉害?

我们不知道,所以需要每组的1跑一次,得到8组的组外排名!

假设八组第1名跑者跑完,前四名跑者分别是A1、B1、C1、D1。所以按照要求找到最快的四匹马,而且必须在A、B、C、D,绝对不可能出现在E,因为E、F、G、H中最快的马,E1、F1、G1、H1,都不在前4,剩下的更不可能!

第三步(逻辑分析,不用跑):经过前两步比赛,A1可以晋级!因为它已经是64匹马里最快的了!!

我们只需要找到剩下的三匹最快的马!我们挑了马A1(蓝色),没理它。

灰色地带的六匹马可以直接淘汰!!!

为什么?

仔细听我说!

怀疑:

为什么直接淘汰灰色地带的六匹马?他们做错了什么?

答:

记住,题目要求我们找到最快的四匹马。经过前两步(* * *跑了九次),我们知道A1、B1、C1、D1是八组“组外排名”的前四名。同时,A65438,!

但是,64匹马里最快的2、3、4暂时找不到了!

分析一个波:

最快的第二名可能在哪个范围?

很明显,只有在A2,或者B1!!!

为什么不是A3或者B2或者C1?

你很好!

因为组内最快排名(前四)是A1,A2,A3,A4,组外最快排名(前四)是A1,B1,C1,D1!

所以最快的第二名只能从A2和B1中选!没有别的选择了!!

按照这个逻辑,我们可以继续分析第二名和第四名,可以知道最快的前四名不可能分布在灰色地带,所以我们淘汰了灰色地带的六匹马!

第四步(分类讨论):因为A1是最快的第一名,所以我们挑出来算了!接下来的问题是在A2、A3、A4、B1、B2、B3、C1、C2和D1中找出最快的三匹马。

重点是:因为只有8条跑道,而我们有9匹马!

* *所以,我们保留九匹马中的任何一匹!**

注意:我们留下的马可以分为两类处理:

一种:马有明显比它慢的马!

第二类:这匹马没有明显慢的马!

情况一:离开“头等”马!

假设我们离开B1!(C1,B2明显比它慢)

剩下的八匹马去跑步!

场景1(运行一次):

剩下的8匹马跑完之后,我们发现B2或者C1跑进了前3!在这一点上,左边的B1绝对是最快的top 3!因为B1比B2和C1快!!

于是,我们成功地找到了64匹马中跑得最快的4匹。

场景2(运行两次):

剩下的8匹马跑完之后,我们发现B2或者C1没有跑进前3!

此时只能让B1,A2,A3,A4再跑一次,取前三!!

疑惑:为什么B1,A2,A3,A4又跑了?不是别的?

答:

所以B1用A2,A3,A4运行(注意,为什么不用C1运行,因为B1比C1快,所以不需要运行!)

而且B1比B2和B3快,不用跑,所以B1用A2,A3,A4跑!

情况一:离开“二等”马!

假设我们离开A4!没有一匹马明显比它慢。

剩下的8匹马跑一次,得到一个名次,然后挑第一名,剩下的用A4跑。

这样我们才能拿到最快的前四!!

分析

由此可见,如果我们留下一种马,可能会有一个“最优”的结果,即只需要跑一次就可以得到结果。

而如果离开第二种马,就要两次才能得到结果!!

结果

通过上面的分析,我们再来看题目的要求,我们需要得到“最少多少场?”

第一步8次。

第二步:1次

第三步是0次

第四步:1或2次

那么至少8+1+1 = 10次。

一个看似简单的问题,背后却隐藏着如此复杂的逻辑,“大厂风格”毋庸置疑~

聪明的朋友有更好的解决方法吗?

欢迎分享~ ~!