【引导性,看到图片请思考,不要着急下滑哦】
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只马相关推荐

  1. 64匹马8个跑道选出最快的4匹马,最快需要几次比赛

    既然问这个问题,肯定是不计时赛马. 1.64匹马分8组,每组竞赛,这样每组内的马有了排序. (+8) 2.选每组的第一名出来竞赛,前四名的组去掉后四匹马,后四名的组全去掉,于是剩下前四名的组,每组4匹 ...

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

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

  3. 程序员求助:腾讯面试题,64匹马8个跑道,多少轮选出最快的四匹

    昨天,有网友私信我,说去阿里面试,彻底的被打击到了.问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题.无独有偶,今天笔 ...

  4. 腾讯面试题:64匹马,8赛道,找出最快的4匹最少要几次?

    本文转载自 小K算法 01 故事起源 有64匹马,8条赛道,要找出最快的4匹马,最少要几次呢? 补充: 1.不能计时哈,不然就没有意义了,题目就是要考察逻辑推理 2.默认马的速度不变哈,这是理想的数学 ...

  5. 经典面试题:64匹马,8个赛道,找出前4名最少比赛多少场?

    第一步:全部马分8组,各跑一次,然后淘汰掉每组的后四名(8次): 此时,只有列上有大小关系,行上是没有大小关系的. 最少10次选出前四,最多11次选出前四 在以上的两次比赛过后可以得出,A1 直接晋级 ...

  6. 64匹马,8赛道,找出跑得最快的4匹马,至少比赛9场

    遇到这种问题, 首先先不要尝试思考具体的方式, 先用算法找上下限, 接下来不断通过验证和分析去缩短已经确定的上下限(因为你的上下限计算方式可能不对). 这里先给一个简单的题: 4个矿泉水瓶可以换一瓶矿 ...

  7. 腾讯面试题:64匹马,8个跑道,选出最快的四匹马

    题目描述 64匹马,8个跑道,需要赛多少场,选出最快的四匹马? 题目分析 题目本身是含义不清楚的,但是既然是程序员面试题,隐含条件是: 1.不能计时: 2.在最坏的情况下,至少多少轮比赛,必然能选择出 ...

  8. 腾讯面试:赛马问题【超详细图解】64匹马,8个赛道,找出前4名最少比赛多少场?

    目录 常规思路 正确答案解析 第一轮:8场 第二轮:1场 第三轮:1场或2场 总结 引子:在面试大厂时,怎么也没想到会考我一道脑筋急转弯. 问题:有64匹马和8条跑道,每次只允许最多8匹马同时比赛(假 ...

  9. N*N匹马,N个赛道,求出最快N匹马的解法

    入门级:81匹马,9个赛道,不计时,最少要赛几场可以求出最快四匹马? 首先:分为9组分别进行比赛后得到每一组的比赛名次,比赛场次:9: 然后:将9组的每组第一名比赛,得到第一名,肯定是所有马的第一名: ...

最新文章

  1. 【 C 】队列的链式存储实现
  2. blender, 创建多边形面片
  3. LSMW批处理使用方法(12)_步骤16、17
  4. 在ASP.NET Core中使用百度在线编辑器UEditor
  5. 大话重构7:重构是一系列的等量变换
  6. Magento 安装教程
  7. 8篇文章系统梳理ARM开发中的文件类型
  8. python爬虫之数据存储(四):MySQL数据库
  9. 亚马逊便携式小空调冷风机英国站UKCA认证测试标准
  10. 全国大学生信息安全竞赛初赛writeup
  11. 使用计算机要遵循哪些规则,中国大学MOOC:\\\在计算机网络的定义中,把众多计算机有机连接起来要遵循规定的约定和规则,称之为( )。\\\;...
  12. 心率检测实现报告(二)
  13. verilog简单奇校验
  14. 智能物流仓储机器人|海格里斯HEGERLS货物夹抱式防倾倒装置四向穿梭车
  15. 分解为具有无损连接性和依赖保持性的3NF的方法以及例子
  16. AndroidStudio上传自己的项目到Bintray jCenter远程仓库(解决400错误)
  17. GTD时间管理 | 高效能人士的工作习惯
  18. gis服务器上怎么新建文件夹,上传服务定义 (服务器)
  19. 医药数字化的中国实践
  20. 赛扬N4000和赛扬N5095的区别

热门文章

  1. 【数据挖掘】 kmeans聚类算法的原理与实现 (使用matlab)
  2. 确定账号登录和密码确认
  3. 量化投资学习-15:散户与庄家共赢策略之价值长线策略
  4. jquery照片流_使用自定义图像集创建Ajaxy照片库(jQuery)
  5. iOS 特种label:镂空文字、类歌词进度显示文字
  6. Java语言-定义“银行账户”类,主要包括户名、账号、密码及账户余额4个成员属性。
  7. 微信小程序糟心开发过程
  8. React Native专题-江清清
  9. 遗传算法优化BP神经网络的实例
  10. AI-DPL, you should know