今天第一次面试,腾讯微众银行的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。(我面试的时候怎么想不出来)

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

a1>b1>c1

a1>a2>a3


a1>b1>b2

所以很自然地,最后一次赛跑就是a2,a3,b1,b2,c1的角逐了。

a2,a3,b1,b2,c1=>第二,第三

总结

最少需要跑7次才能确定排名前三的马,over。

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

  1. 25匹马5个跑道,选出最快的5匹马?

    回顾之前问题:25匹马5个跑道,怎样选出最快的3匹? 答:先分成5组比赛并组内排序(从1到5速度减慢),再让每组第一名比赛,按照每组第一名的比赛结果从快到慢对每组排序(从A到E速度减慢),此时共计比赛 ...

  2. 25匹马,5条赛道,一匹马一个赛道,比赛只能得到5匹马之间的快慢程度,求1,2,3名

    题目:赛马,有25匹马,每次只能5匹马进行比赛,比赛只能得到5匹马之间的快慢程度,而不是速度,请问,最少要比1次,才能获得最快的前3匹马? 给所有马标号,分成5组: A组:A1,A2,A3,A4,A5 ...

  3. 算法:从25匹马中选出最快的三匹马

    本题来源于面试中的一道题. 题目:给你25匹马,你有个赛道每次最多同时跑5匹马,没有表和计数器之类的东西,请问至少跑几次可以找出最快的三匹马? 思路:首先将这25匹马随机分成1,2,3,4,5共5组, ...

  4. 64匹马8条跑道找最快的4匹马

    假设跑道一样,马体力无限,速度均衡.有64匹马只有8条跑道,找最快的4匹马,至少要跑多少次? 答案:10-11次. 这类题,都是根据已知条件用尽量少的成本推导出尽量多的已知条件来进行最尽筛选 1.分8 ...

  5. 25 匹马 5 条赛道,最快需要几轮求出前 3 名?

    请点赞关注,你的支持对我意义重大.

  6. 25匹马,5个跑道,每次只能跑5匹,用最少的次数选出最快的前3匹

    跑马智力题 25匹马 5个跑道,每次只能跑5匹,至少需要多少次才能选出最快的前3匹? 分五组ABCDE,每组5匹: 先每组马pk,找出每组中的最快的马,标记为A1B1C1D1E1;----需比赛5场: ...

  7. 面试题:25匹马最快3匹及扩展

    描述: 在25匹马里,只有五条赛道,在没有计时工具的情况下,选最快的三匹?  (只能得出相对快慢) 两个扩展: 最快5匹呢, 有30匹马呢 1. 基本思路(找最快3匹马) 先确定第一名(用6场): 分 ...

  8. BAT 面试题:25匹马,5个跑道,每个跑道最多能有1匹马进行比赛,最少比多少次能比出前3名?前5名?

    写在前面:最近在刷面试题的过程中遇到这么一道题,感觉解读题目的角度很多,这里介绍自己的做法.注意:本文并不是参考答案,只是为大家在面试的时候多提供一条思路,或许可以获得面试官的青睐. 25匹马,5个跑 ...

  9. 有25匹马,5条赛道

    昨天参加暴风影音的校招笔试,选择题和编程题 选择题中的一道题是这样的: 有25匹马,5条赛道,一匹马一条赛道,无法为每匹马计时,每一场比赛只能知道5匹马的相对快慢,求决胜出前5名至少需要多少场比赛, ...

最新文章

  1. 为什么当项目启动后执行两次过滤器 再进行访问资源时执行一次过滤器
  2. 猫脸关键点检测大赛:三种方法,轻松实现猫脸识别!
  3. java遍历栈_Java中使用StackWalker和Stream API进行堆栈遍历
  4. JS排序算法之插入排序
  5. python编写函数、计算三个数的最大公约数_Python实现利用最大公约数求三个正整数的最小公倍数示例...
  6. MyBatis mapper 注解过程中通过 LanguageDriver 实现动态 SQL
  7. 深入理解 JVM Class文件格式(八)
  8. C++ C# 中作用域限定符
  9. android 分析boot.img,Android 系统准备知识-bootimg文件的结构
  10. GoogleNet_V3结构(论文复现)
  11. 利用ModelBinder防止XSS一次尝试
  12. Java面试题之 static执行顺序
  13. 2022淘宝618超级喵运会怎么玩?2022淘宝618喵运会玩法技巧
  14. pyCharm最新2018.2激活 附激活文件/教育版免费使用
  15. excel从只有省市县的地址中分别提取省、市、县
  16. ffmpeg基础五:单独解码裸流aac或MP3或H264
  17. Android中实现类似探探中图片左右滑动切换效果
  18. 1:算法php/go [反转链表;LRU缓存结构 ;判断链表中是否有环]
  19. 【动网论坛7.1 sp1 修改】-论坛短信无刷新弹出
  20. 打卡学习——应对焦虑的一剂良方!

热门文章

  1. 面向 JavaScript 开发人员的 5 大物联网库
  2. C++入门之创建第一个控制台程序
  3. 【MATLAB】一个简单的程序实现细胞计数
  4. 专家提示坏脾气可能源于营养缺乏(图)
  5. POJ 1091 跳蚤 【容斥原理】+模板
  6. 7-27 兔子繁衍问题
  7. [转]从Java开源说起
  8. 配置windows失败计算机,如何解决配置windows update失败还原更改问题
  9. SpringBoot红色旅游小程序 计算机毕业设计源码26537
  10. STM32学习笔记(超详细整理145个问题)