每日智力题:赛马问题

现在面试过程中经常会遇到一些智力题,说实话这些题没见过根本没法在有限的时间内做出来,因此准备把面试过程中遇到的一些智力题记录下来形成一个专栏,今日智力题是经典的赛马问题。

问题描述:25匹马,有5个赛道,选出速度最快的前3匹马,最少应该用几次比赛呢?
答案:7次
详细解答如下:
Step1: 首先把25匹马分成5组,A组 B组 C组 D组 E组,然后每个组下有5匹马,比如a1 a2 a3 a4 a5 / b1 b2 b3 b4 b5这样子。每个组在组内进行比赛,比如首先进行A组内部的比赛,然后得到A组中前三名的马是 a1 a2 a3。同样的对其余各组也这么组内比较,分别得到每个组的前三名,最终剩下的选手是 a1 a2 a3 | b1 b2 b3 | c1 c2 c3 | d1 d2 d3 | e1 e2 e3
此阶段需要进行5次赛跑。

Step2: 我们把每个小组第一名 a1 b1 c1 d1 e1拿出来比较一次,假设这次成绩是 a1 > b1 > c1 > d1 >e1(成绩靠前的名次好),由于我们要选出所有25个马的前三名,那么d1 e1那小组中就可以全部淘汰了。并且a1一定是25个马中最快的那个马,因此现在我们需要选出第二 三名,在只剩余的两个名额,我们只需要从 a2 a3 b1 b2 c1中选(因为只剩下2个名额了,所以b3被淘汰了,又因为b1 > c1所以c组最多能竞争第三名,所以c2 c3淘汰了)。因此这一轮经过1次比较。

Step3:我们在step2中剩下了 a2 a3 b1 b2 c1这5个马,因此只需要再比较1次,就可以选出整体中的二三名了。

综上所述:总共需要7次比赛。

#牛客激励计划##ai智能作图#
全部评论
接好运
点赞 回复 分享
发布于 2024-12-24 19:43 上海
智力题很有意思
点赞 回复 分享
发布于 2024-12-25 00:04 上海
智力题在哪里可以看
点赞 回复 分享
发布于 01-02 23:11 安徽

相关推荐

03-07 16:33
已编辑
南京大学 Java
更新:后面看了一下二面的题目,是原地哈希方法。不过想起来当时忘记问数据范围了,如果里面的值都是在数组大小的范围内,才能原地哈希来做,所以也提醒大家题目先问下数据范围~可能会有一些启发.. #腾讯求职进展汇总# 3.06一面1、需求分析的输出应该有什么?(提到背景、价值、竞品分析、可行性分析,在快手看过比较多的产品文档,提到了还记得的几个点)2、非功能性需求有哪些?(提到安全性、稳定性)3、问实习相关内容(问了比较长时间,很多细节,包括分库分表、数据一致性等)4、缓存三兄弟(缓存穿透、缓存击穿、缓存雪崩)5、工厂模式和策略模式有什么区别?6、实习过程中有没有用过cursor?(说的是copliot 和 kwaicopliot)最难搞的来了,边写代码的时候边问问题(忘记问啥了)1、介绍策略模式并手写策略模式代码2、最长无重复子串(A了之后,问你怎么考虑设计测试用例,我说的是从分支覆盖的角度入手)3、SQL题(涉及子查询和多表联查,大概3个SQL)反问:1、业务:微信小店;2、是否有暑期hc,不清楚。总结:基本上全部都回答上来了,表现最好的一次。3.07二面上来40min两道题1、LC:数组中的重复元素;2、思维题:赛马问题(可看鱼皮的牛客帖)3、询问实习相关内容。总结:面试官问我后续问题的时候我已经懒得答了,因为前面两道题都没做出来知道已经不影响结果了。第一次面试面到情绪崩溃,从19年开始接触Java,自己八股整理了好几万字的东西了,算法刷了400+、500+,思维题最近在看,但是还是能问到没有做过的题目以及没有看过的思维题,可惜了。感觉自己已经变成了一个面试机器,只会做做过的题,只会回答背过的八股,已经没有什么能够自主思考的能力了,因为只有这样感觉性价比才是最高的,只要能面到复习过的,就能过面试,开始迷茫了...想回到大一那种对什么都很新奇,研究新东西的时光了,那应该是段比较快乐的日子。
程序员猪皮:最后一句,确实如此
查看13道真题和解析 腾讯求职进展汇总
点赞 评论 收藏
分享
评论
4
5
分享

创作者周榜

更多
牛客网
牛客企业服务