腾讯面试的一道思维逻辑题,据说只有5%的人能答出来
1. 题目描述
有25匹马,5条赛道,每条赛道同时只能有一匹马跑,假设每匹马的水平都很稳定,在没有计时器的情况下最少需要比几场才能确定前三名。
2. 思路解析
25匹马分成5组,每组先进行一次比赛,这就要比5场。 这一步每个人都能想到。
我们给每个小组内进行完比赛的马进行标号 Ai > Bi > Ci > Di > Ei,其中5 >= i >= 1。
五场比赛后确定了每个小组内的名次,接下来只需要把每个小组的第一名拿出来A1,A2,A3,A4,A5比一次,决出每个小组第一名的排名。假设结果是 A1 > A2 > A3 > A4 > A5,我们会得到下面的矩阵:

这样就能确定第一名是A1。(在这一步就很多同学想偏了,大部分的回答是从每个组选出前三名来再进行三次比赛)
根据上面的矩阵规律,可以确定第二名只能从B1和A2之间产生,接下来我们针对这两种情况来进行分别讨论。
如果第二名是B1,那么第三名只能从A2,C1之间产生。

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

所以只需要再将 A2,A3,B1,B2,C1这5匹马比一次就能确定第二名和第三名。
总共的比赛场次是5 + 1 + 1 = 7,最少需要比7场可以确定前三名。
平时工作中我们也要多主动思考,遇到问题多在纸上写写画画,说不定就有灵感了。
最后分享一份算法题目列表,这里既提供了经典题目列表,还提供了对应的高质量题解,让刷题更有效率。非常适合刚刚开始刷题或者为了找工作刷题的同学。
此题目列表包含的知识点是比较全面的。
常用的数据结构: 数组、字符串、链表、二叉树、图、前缀树、集合、映射、栈、队列、堆都有覆盖。
常用的解题方法: 递归、迭代、二分法、回溯、贪心、动态规划、位运算、双指针、模拟、拓扑排序、桶排序、单调栈、深度优先搜索、广度优先搜索都有覆盖。
💖 💖 在线文档 💖 💖
另外题目列表和题解都开源在github上了,欢迎大家提建议。
还有一份硬核后端资料也分享给大家。
#我的求职思考##晒一晒我的offer##我发现了面试通关密码##如何判断面试是否凉了##23届找工作求助阵地#溜达虎讲逻辑思维 文章被收录于专栏
剖析面试中的一些逻辑思维题。
