面试思考题:25匹马5条跑道选前三

这是一篇关于面试经历的文章,作者分享了在腾讯微众银行web开发岗面试时遇到的一道思考题:如何在25匹马和5条跑道的条件下,仅通过肉眼观测选出最快的三匹马。通过详细解析,得出最少需要跑7次比赛来确定前三名的结论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天第一次面试,腾讯微众银行的web开发岗,除了深刻地认识到自己是个铁five之外,也算是积累了面试经验吧。面试官人还挺好的,看我菜也没有说啥(甚至还安慰我说我还行),面试官最后给我出的那道思考题还是挺有意思的,所以在这分享下:

题干

25匹马和5条跑道,每条跑道只能跑一匹马,只能在肉眼观测的条件下要怎么选出跑得最快的那3匹马,最少要跑几次呢?

思路

马跑了才知道它快不快,所以首先所有马都得跑一遍。
把25匹马分为5组,每组5匹马,假设为a,b,c,d,e五组,所以首先需要跑5次。然后跑出来结果按速度排序为a1到a5,b1到b5以此类推。

a1,a2,a3,a4,a5=>a1
b1,b2,b3,b4,b5=>b1
c1,c2,c3,c4,c5=>c1
d1,d2,d3,d4,d5=>d1
f1,f2,f3,f4,f5=>f1

然后让a1,b1,c1,d1,f1这每组中最快的马出来跑一次,可以得到他们的快慢顺序,假设从快到慢为a1,b1,c1,d1,f1。

a1,b1,c1,d1,f1=>a1,b1,c1,d1,f1

很显然c组和f组已经不可能产生前三名了,因为他们组的第一已经不在前三位了,所以d组和f组失去资格。
a1是总冠军,所以也排除在复赛之外,接下来就是第二和第三的选择了。

那么问题来了,第二和第三该怎么选最快?

稍加思考便可得知,第二可能是b1,也可能是a2;而第三可能是a2,a3,b1,b2,或者c1。(我面试的时候怎么想不出来)

如果难想象的话假设一些实际参数就很好理解了:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值