腾讯面试:赛马问题【超详细图解】64匹马,8个赛道,找出前4名最少比赛多少场?
目录
- 常规思路
- 正确答案解析
- 第一轮:8场
- 第二轮:1场
- 第三轮:1场或2场
- 总结
引子:在面试大厂时,怎么也没想到会考我一道脑筋急转弯。
问题:有64匹马和8条跑道,每次只允许最多8匹马同时比赛(假定每匹马每次比赛速度相同),但是没有秒表不能计时,问最少要比多少次,才能选出最快的4匹马?
原文链接:腾讯面试-赛马问题
常规思路
因为每匹马都至少得跑一次,而我们只需要选出最快的4匹,所以首先肯定得跑8场,每场淘汰4匹马。之后我们很容易想到将两组获胜的4匹马进行组合比赛,就可找到最快的4匹马。
这样解题,共需4轮15次,但不是最优解。
正确答案解析
第一轮:8场
把64匹马随机分为8组,总共比8场,淘汰每组后4名。为方便可视,我将马进行标记组别并同时记录每组中各马的名次。
第二轮:1场
在8组中选每组第1名的马进行比赛,按名次排序(重新对马进行标记,第一名为A1,其次为B1、C1、D1…)。
这时A1为全场最快,直接晋级。同时知道A1>B1>C1>D1>E1>F1>G1>H1,并且由第一轮的结果可知D1>D2>D3>D4。
因为总共需要选出4匹,综上可得出A1>B1>C1>D1>D2>D3>D4,所以D2、D3、D4一定被淘汰。同理,B4、C3-4、D2-4、E1-4、F1-4、G1-4、F1-4被淘汰。
第三轮:1场或2场
目前已知A1为全场最快,已经晋级。现在需要在A2-4、B1-3、C1-2、D1这9匹马(只有8条跑道)中选择最快的3匹,同时知道B1>C1>D1。这时D1是最危险的,因为已经知道有两匹马比它快,我们选择除了D1之外的8匹马进行比赛。
加赛的情况:
如果C1以第二名的成绩晋级(除D1比赛中的第二名,已知B1>C1,所以C1不可能是第一名),那么最终第三名(除D1比赛中的第三名)在A2-4、B2-3、C2中产生,并不能知道D1与它们的快慢,所以需要D1与A2-4、B2-3、C2共7匹马再进行一次比赛,第一名进入TOP4(是总成绩中的第四名)。
不加赛的情况:
如果C1以第三至七名的成绩完赛(除D1的比赛,已知C1>D1,所以C1不可能是第八名),那么除D1这8匹马中的前三名就直接进入TOP4(总成绩中的第二、三、四名),无需进行加赛。
总结
在前两轮后我们知道B1>C1>D1,也知道A2>A3>A4。同理,我们也可以将A4排除,让A2-3、B1-3、C1-2、D1这8匹马进行比赛,再以A3的排名进行分情况讨论。
原文链接:腾讯面试-赛马问题
注:转载请联系作者获得授权,出自公众号:AI有温度,扫码关注,欢迎各位。
腾讯面试:赛马问题【超详细图解】64匹马,8个赛道,找出前4名最少比赛多少场?相关推荐
- 腾讯面试题:64匹马,8赛道,找出最快的4匹最少要几次?
本文转载自 小K算法 01 故事起源 有64匹马,8条赛道,要找出最快的4匹马,最少要几次呢? 补充: 1.不能计时哈,不然就没有意义了,题目就是要考察逻辑推理 2.默认马的速度不变哈,这是理想的数学 ...
- 程序员求助:腾讯面试题,64匹马8个跑道,多少轮选出最快的四匹
昨天,有网友私信我,说去阿里面试,彻底的被打击到了.问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题.无独有偶,今天笔 ...
- 转 :2019年Java大厂面试(吐血超详细总结)
2019年Java大厂面试(吐血超详细总结) 本文来自于慕课网手记:Java大厂面试(吐血超详细总结),转载请保留链接 ;) 转载自:https://www.imooc.com/article/286 ...
- 超详细图解!【MySQL进阶篇】存储过程,视图,索引,函数,触发器
超详细图解![MySQL进阶篇]存储过程,视图,索引,函数,触发器 1.1 下载Linux 安装包 1.2 安装MySQL 1.3 启动 MySQL 服务 1.4 登录MySQL 2\. 索引 2.1 ...
- 超大超详细图解,让你掌握Spark memeoryStore内存管理的精髓
摘要:memoryStore主要是将没有序列化的java对象数组或者序列化的byteBuffer放到内存中. 本文分享自华为云社区<spark到底是怎么确认内存够不够用的?超大超详细图解!让你掌 ...
- 【面试现场】如何在10亿数中找出前1000大的数
小史是一个应届生,虽然学的是电子专业,但是自己业余时间看了很多互联网与编程方面的书,一心想进BAT互联网公司. 之前小史在BAT三家的面试中已经挂了两家,今天小史去了BAT中的最后一家面试了. 简单的 ...
- 【字节跳动面试题】赛马问题 64匹马8个跑道最少几次赛出最快的4匹马
2020年1月 字节跳动研发岗实习面试题 文章目录 赛马问题 一. 64匹马8个跑道 二. 36匹马6赛道 赛马问题 一. 64匹马8个跑道 64匹马8个跑道(不计时),问最少要比多少次,才能知道最快 ...
- 粒子群(PSO)、量子粒子群(QPSO)优化LSTM网络超参数,以均方差为适应度,找出一组网络超参数,解决网络设置参数盲目性的问题
粒子群(PSO).量子粒子群(QPSO)优化LSTM网络超参数,以均方差为适应度,找出一组网络超参数,解决网络设置参数盲目性的问题. 可用于负荷预测,风电功率预测,光伏发电预测等时序序列,matlab ...
- 7-1 h0168. 田忌赛马分数 10作者 黄正鹏单位 贵州工程应用技术学院田忌与齐王赛马,双方各有n匹马参赛,每场比赛赌注为200两黄金,现已知齐王与田忌的每匹马的速度,并且齐王肯定是按马
7-1 h0168. 田忌赛马 分数 10 全屏浏览题目 切换布局 作者 黄正鹏 单位 贵州工程应用技术学院 田忌与齐王赛马,双方各有n匹马参赛,每场比赛赌注为200两黄金,现已知齐王与田忌的每匹马的 ...
最新文章
- 如何避免重构带来的危险
- 袖口里的“超能力”:Facebook腕带式AR传感器,可隔空打字、操控界面,LeCun点赞...
- 这个搞定系统监控的妙招,不来学可惜了
- MySQL 锁的相关知识 | lock与latch、锁的类型、简谈MVCC、锁算法、死锁、锁升级
- windows iis 部署 django项目
- python创建矩阵_python中Numpy的属性与创建矩阵
- 将指定文件中的空格或换行删除(可选是否创建一个新文件)
- AutoIt:工具栏中没有其它工具,eg,Koda
- 抖音康辉机器人_央视主持人太会玩!康辉录抖音,笑死了!
- mysql 环比 同比_MySQL统计同比环比SQL
- 计算机专业社会调研怎么写,计算机专业调研论文提纲格式 计算机专业调研论文提纲怎么写...
- 如果兔子拼命奔跑 乌龟怎么办
- Angular 路由(routing)基本配置
- 从技术面试官的角度谈谈简历和面试那些事儿
- Citespace的英文文献数据导入
- Python用while循环,打印9*9乘法表
- R7000P进入ubuntu18.04黑屏问题
- JavaScript 事件和事件类型
- 网络基础设施的相对落后对于信息化社会的快速发展的影响
- easyui datagrid 多列checkbox