64只马,8个赛道,选出最快4只马
【引导性,看到图片请思考,不要着急下滑哦】
64/8 = 8
32/8 = 4
16/8 = 2
8/8 = 1
8 + 4 + 2 + 1 = 15 次
再思考一下呀?
找出前4名。
第一步:前面的8次是必不可少的,分成8组,赛8次
第二步:拿出第一名的8只马再比1次,这时候第一名就已经知道了,最后的3只马,肯定在前4只第一名马所在的队伍里,可以舍弃一半,剩下32只马。
因为找Top4,那么选中的这4组,可以只保留每组的前4名,此时有16只马(去掉第一名,15只马),再进一步简化,可简化为以下9只马。
第三步就是:9只里面找前3只。
1 | 2 | 3 | 4 | |
---|---|---|---|---|
A组 | 第一名已定,排除 | √ | √ | √ |
B组 | √ | √ | √ | |
C组 | √ | √ | ||
D组 | √ |
选9只马中的任意8只比较几次呢?
不选B1,选剩下8只。
1、如果C1D1第一第二,那么A1B1C1D1为top4。
2、如果C1C2第一第二,那么A1B1C1C2为top4。
3、如果B2能排到前三,那么A1B1为top4中一员,也可推导出剩下2只。
所以至少8+1+1=10次。
4、如果…(剩下情况依此类推)
其他情况呢?都是10次可推吗?
需要多比1次的情况,是存在的。
比如?
比如A2A3C1第一,那么C1肯定被B1挤掉了,但是不知道B1、A2、A3的排序,需要再比一次。这种情况下需要11次。
如果不选A2,选剩下8只是什么情况呢?
此时如果A3是第一名,那么肯定A1A2A3前三名,A3后的是第四名。
否则其他情况都需要再比一次。
如果不选A3,选剩下8只是什么情况呢?
除了上面2种情况(去掉A2,B1),其他情况都没办法10次推出结果,必须11次。
64只马,8个赛道,选出最快4只马相关推荐
- 64匹马8个跑道选出最快的4匹马,最快需要几次比赛
既然问这个问题,肯定是不计时赛马. 1.64匹马分8组,每组竞赛,这样每组内的马有了排序. (+8) 2.选每组的第一名出来竞赛,前四名的组去掉后四匹马,后四名的组全去掉,于是剩下前四名的组,每组4匹 ...
- 25 匹马 5 条赛道,最快需要几轮求出前 3 名?
请点赞关注,你的支持对我意义重大.
- 程序员求助:腾讯面试题,64匹马8个跑道,多少轮选出最快的四匹
昨天,有网友私信我,说去阿里面试,彻底的被打击到了.问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题.无独有偶,今天笔 ...
- 腾讯面试题:64匹马,8赛道,找出最快的4匹最少要几次?
本文转载自 小K算法 01 故事起源 有64匹马,8条赛道,要找出最快的4匹马,最少要几次呢? 补充: 1.不能计时哈,不然就没有意义了,题目就是要考察逻辑推理 2.默认马的速度不变哈,这是理想的数学 ...
- 经典面试题:64匹马,8个赛道,找出前4名最少比赛多少场?
第一步:全部马分8组,各跑一次,然后淘汰掉每组的后四名(8次): 此时,只有列上有大小关系,行上是没有大小关系的. 最少10次选出前四,最多11次选出前四 在以上的两次比赛过后可以得出,A1 直接晋级 ...
- 64匹马,8赛道,找出跑得最快的4匹马,至少比赛9场
遇到这种问题, 首先先不要尝试思考具体的方式, 先用算法找上下限, 接下来不断通过验证和分析去缩短已经确定的上下限(因为你的上下限计算方式可能不对). 这里先给一个简单的题: 4个矿泉水瓶可以换一瓶矿 ...
- 腾讯面试题:64匹马,8个跑道,选出最快的四匹马
题目描述 64匹马,8个跑道,需要赛多少场,选出最快的四匹马? 题目分析 题目本身是含义不清楚的,但是既然是程序员面试题,隐含条件是: 1.不能计时: 2.在最坏的情况下,至少多少轮比赛,必然能选择出 ...
- 腾讯面试:赛马问题【超详细图解】64匹马,8个赛道,找出前4名最少比赛多少场?
目录 常规思路 正确答案解析 第一轮:8场 第二轮:1场 第三轮:1场或2场 总结 引子:在面试大厂时,怎么也没想到会考我一道脑筋急转弯. 问题:有64匹马和8条跑道,每次只允许最多8匹马同时比赛(假 ...
- N*N匹马,N个赛道,求出最快N匹马的解法
入门级:81匹马,9个赛道,不计时,最少要赛几场可以求出最快四匹马? 首先:分为9组分别进行比赛后得到每一组的比赛名次,比赛场次:9: 然后:将9组的每组第一名比赛,得到第一名,肯定是所有马的第一名: ...
最新文章
- 【 C 】队列的链式存储实现
- blender, 创建多边形面片
- LSMW批处理使用方法(12)_步骤16、17
- 在ASP.NET Core中使用百度在线编辑器UEditor
- 大话重构7:重构是一系列的等量变换
- Magento 安装教程
- 8篇文章系统梳理ARM开发中的文件类型
- python爬虫之数据存储(四):MySQL数据库
- 亚马逊便携式小空调冷风机英国站UKCA认证测试标准
- 全国大学生信息安全竞赛初赛writeup
- 使用计算机要遵循哪些规则,中国大学MOOC:\\\在计算机网络的定义中,把众多计算机有机连接起来要遵循规定的约定和规则,称之为( )。\\\;...
- 心率检测实现报告(二)
- verilog简单奇校验
- 智能物流仓储机器人|海格里斯HEGERLS货物夹抱式防倾倒装置四向穿梭车
- 分解为具有无损连接性和依赖保持性的3NF的方法以及例子
- AndroidStudio上传自己的项目到Bintray jCenter远程仓库(解决400错误)
- GTD时间管理 | 高效能人士的工作习惯
- gis服务器上怎么新建文件夹,上传服务定义 (服务器)
- 医药数字化的中国实践
- 赛扬N4000和赛扬N5095的区别