package com.java.practice;/*** Created by liud on 2017/8/26.*/
public class ThreeFastTest {public static void main(String[] args) {int count = 0;/*** 25匹赛马,没有秒表,五条跑道。用最少的比赛场次找出三匹跑得最快的马。* 关键在于不能一次让25匹马一次跑来比较,一次最多比较5匹马* 用分组排除的方式找到最快的三匹马*//*** 假设现在分5个组* 每一组都跑,记录下每组最快的3个,并标记排名*/String[] compare_first_1 = {"A1", "A4", "A5", "A2", "A3"};String[] compare_first_2 = {"B4", "B5", "B1", "B2", "B3"};String[] compare_first_3 = {"C1", "C4", "C5", "C2", "C3"};String[] compare_first_4 = {"D2", "D1", "D3", "D4", "D5"};String[] compare_first_5 = {"E1", "E2", "E3", "E4", "E5"};//5轮比试后的结果String[] horses1_first = {"A1", "A2", "A3"};String[] horses2_first = {"B1", "B2", "B3"};String[] horses3_first = {"C1", "C2", "C3"};String[] horses4_first = {"D1", "D2", "D3"};String[] horses5_first = {"E1", "E2", "E3"};count = 5;/*** 还剩下15匹马* 将每组排名第一的马屁进行比较,选出前三,并标记排名*/String[] compare_two = {"A1", "B1", "C1", "D1", "E1"};count += 1;/*** 找到最快的前3名马屁* 根据结果:* 可以排除跑的慢的两只队伍("D1", "E1"所在的队伍)*///假如A1第一,B1第二,C1第三,就可以排除掉D队所有马屁,以及E1所有马屁//则还剩下:String[] horses1_num_one = {"A1", "A2", "A3"};String[] horses2_num_two = {"B1", "B2", "B3"};String[] horses3_num_three = {"C1", "C2", "C3"};/*** 最快的那匹马假设为 A1,而要找到还剩下两匹快马,我们可以继续排除一些马儿* 比如说B3,如果B3是最快的三匹马之一,那么B1、B2比她快,* 此时就是 A1、B1、B2、B3则有4匹了,所以可以果断排毒B3* 而跑的最慢的C队,我们可以排除C2、C3,依然用反证法,C2是跑的最快的3匹马之一,* 那么比它快的则有C1,而B1又比C1快,则至少为A1、B1、C1、C2,也多了,* 所以C2排除,自然C3比C2慢,依然排除** 此轮比试 得到的结果,A1 为跑的最快的那匹马,剩余没比较的马屁为:*/String[] compare_three = {"A2", "A3", "B1", "B2", "C1"};/*** 刚好五匹马,一次比较,找到最快的两只,跟A1加起来就是我们要找的最快的那三匹马儿*/count += 1;/*** count最后结果为7次*/}
}

以上为个人想法,有更好的方式可以留言,谢谢。

25匹赛马,没有秒表,五条跑道。用最少的比赛场次找出三匹跑得最快的马。过程分析相关推荐

  1. 25匹马,5个跑道,最少需要比赛多少场就能决出前三名

    这是我一个搞Java的朋友当面试官时出的题,回来他问我,我自己想了想,后来在网上看到很多相关的介绍,于是自己也想写一个,如果哪里写的不对,大家多见谅 其实这个题并不难,就是一个类似奥数题,需要我们去做 ...

  2. 有36匹马,六个跑道。没有记时器等设备,用最少的比赛次数算出跑的最快的前3匹马

    36匹马分6个组,分别为A.B.C.D.E.F组. 第一轮,每个组各跑一次,取每组前三名,标识为A1.A2.A3,B1.B2.B3,以此类推. 第二轮,每个组的第一名(A1--F1)拉出来跑一次,假设 ...

  3. 偷闲一刻:看看能找出几匹马?

    来自 " ITPUB博客 " ,链接:http://blog.itpub.net/15027461/viewspace-420810/,如需转载,请注明出处,否则将追究法律责任. ...

  4. 25匹马,5个跑道,每次只能5匹马跑,问最少几次得到跑的最快的3匹马

    正确答案: 7 场. 推理过程: 你可以先询问面试官,「最快」的意思,是不是指比赛时总能赢?在真实情况下并非如此.但倘若你假设, A 在比赛中跑赢了 B , A 就无可争议地跑得更快,这就极大地简化了 ...

  5. 智力题:36匹马,6条跑道,没有计时器,至少需要多少次选出最快的三匹马

    智力题:36匹马,6条跑道,没有计时器,至少需要多少次选出最快的三匹马 1.将马分成六组进行比赛,比赛六次,六组马分别都是有序的. 2.分别将六组马中跑得最快的马挑出来,让这六匹马再进行第七次比赛,将 ...

  6. 【大厂智力题】64匹马,8个赛道,找出前4名最少比赛多少场?

    如果能计时,果断8场, 然并卵,事情没有那么简单:不能计时. 那就老老实实分析. 首先将马分成八组,赛八场,每场后四名淘汰了. 然后将八组中,每组跑得最快的马进行比赛,淘汰后四名的组. 这个时候剩下四 ...

  7. 64匹马,8个赛道,找出跑得最快的4匹马,至少比赛几场?

    说一种10场就可以找到跑的最快的四匹马的解法 第一步: 通过八场比赛可以得到如图排序,红框内成员已可确定不可能进入前四,顾后续不予考虑 第二步: 将每一场比赛的第一名在进行一次比赛,假设排序结果为: ...

  8. 25匹马,5个跑道,最少比几次可以得出跑得最快的前三匹吗?

    算法思路: 首先将25匹马分成5个小组,分别为A, B, C, D, E,比赛次数5次: 每个小组都分别进行比赛,分别得到前两名,分别为A1,A2, B1, B2, C1, C2, D1, D2, E ...

  9. 【智力问题】25匹马赛跑,每次只能跑5匹马,最快能赛几次找出跑得最快的3匹马?赛跑不能计时,并假设每匹马的速度是恒定不变的。...

    答案是7次. 1. 首先将25匹马分成5组a.b.c.d.e进行比赛.比赛的次数就是5次.得到每组的第一名,分别编号a1,b1,c1,d1,e1. 2. 然后我们将每组的第一名进行比赛,得出结果.假设 ...

  10. 25匹马,找出最快的3匹,但是只有5个赛道,每次比赛只能得到5匹马的速度排序,那么最少需要多少次比赛

    笔试题:25匹马,找出最快的3匹,但是只有5个赛道,每次比赛只能得到5匹马的速度排序,那么最少需要多少次比赛 在网上搜了下答案,好像不靠谱. 最后在英文网站上找到正确的答案:? 次 参考:http:/ ...

最新文章

  1. 推荐|深度学习领域引用量最多的前20篇论文简介
  2. Oracle会话和进程数的监控
  3. Unity网络多玩家游戏开发教程第1章Unity自带网络功能
  4. Javascript网页摇一摇
  5. 知识梳理——CSS篇
  6. 易语言关闭指定窗口_易语言取外部程序指定窗口位置源码 _易语言源码网_易语言资源网...
  7. 7.18 collection random os sys等模块
  8. 有人说:轻量级锁一定比重量级锁快!我忍不住笑了
  9. Linux文件系统:Linux 内核文件描述符表的演变
  10. linux/ubuntu下安装java开发环境
  11. php分销根据上级id获取上级姓名,无限级分销系统查自己上级、下级之多叉树实现关系速查...
  12. html页面添加视频背景设置为自动播放,打开网址就会自动播放,简单有效亲测
  13. mysql控制文件位置_重建控制文件
  14. 光储直柔配电系统浅析
  15. MFC隐藏窗口及图标
  16. 计算机桌面上的微信图标不显示不出来的,电脑微信图标任务栏不见了怎么办
  17. 2019年第十届蓝桥杯真题解析 | 特殊数【Python】
  18. 百鸡百钱 //公鸡5钱一只,母鸡3钱一只,小鸡1钱3只
  19. 计算机维修行业中年,35岁改行的5个职业 中年转行也很轻松,你选对了吗
  20. Vite ( Vue + TS ) 项目配置 @ 路径别名

热门文章

  1. wxpython绘制雷达图_Tableau可视化分析【8】解锁雷达图
  2. 转载:破解DR.COM实现共享上网方法大搜罗(抱歉,直接转载
  3. Linux 8723be无线网卡,rtl8723be无线网卡驱动 for ubuntu
  4. mac mini u盘安装系统_Mac干货 如何在Mac电脑上安装Windows双系统?
  5. 数构与算法 | 什么是大 O 表示算法时间复杂度
  6. php无刷新分页插件,帝国cms增加Ajax加载更多功能,无刷新Ajax表分页插件使用说明_励翔科技帝国cms开发中心...
  7. 计算机考研复试_数据库
  8. 苹果电脑怎么读取ntfs磁盘?有哪些可以读取苹果电脑硬盘的软件?
  9. 计算机表格 求差,Excel表格中求差函数公式怎么用
  10. 特斯拉又起火燃烧,一人死亡!公司又处于负面新闻中,马斯克到底有多难?