引用 @低调小卡戎 发表的: 看没人回你,借个楼吧🐶。一共需要比赛11回合。64匹马分八个小组,每组取前四。(剩32匹)然后,这八个小组的“冠军马”赛一下,后四名“冠军马”所在的小组,整组淘汰,还剩四组马。(剩16匹)第一名“冠军马”,所在小组取前4名马留下来。第二名“冠军马”,所在小组取前3名马留下来。第三名“冠军马”,所在小组取前2名马留下来。第四名“冠军马”,所在小组只留第1名。这时候还剩10匹马,最快的4匹绝对在这里。最后,这10匹马,随机选8匹赛一次,取前四。然后用这四匹再加上剩下的两匹马,再赛一次,取前四名。那么这四名就是最快的四匹马了!8+1+1+1=11PS 我这么跑让老大多跑了两次,实在不好意思,但这样跑jrs们好理解啊🐶
引用 @滚去养猪呐 发表的: 如果前八正好就是在同一组呢
引用 @卡安雨 发表的:这是清华大学2009年自主招生的数学题,当然那个题更复杂一点。这个题目是简化版了,题干没说清楚,应该是不能测速,只能比快慢,怎么比出来最快的4匹马。
引用 @TwinTower 发表的:冠军连续跑那么多次,万一累死了怎么办
引用 @海角樱的小号 发表的:叫云的怎么了,难道不是叫三石的嘛?
引用 @再gay我两分钟 发表的: 🐎嘴能冒出70个泡吗?🐶
引用 @虎扑JR1375400214 发表的:专业点,毕竟不是985一条街,一共跑11回合就OK了。先随机分8组,取出每组前4。然后让这8组的冠军跑一轮,留下前4名,这时候冠军已经确定了。剩下的4组舍弃。然后取出冠军组的2,3、4名,第二名组的1,2,3名第三名组的1,2名第四名组的1名。这9匹马跑两次,取出前3就OK8+1+2=11次
引用 @mengtuo7 发表的:奥运会比法,八八分组,小组前四进下一轮,8+4+2+1共计15回合
引用 @copyfriend 发表的: 第二名组第三名组第四名组不跑怎么知道1,2,3呢?
引用 @sleepylizard 发表的:我觉得是最多9次。前八次一样,找本组最快的四匹马。第九次:每组前四按照快慢列竖队,小组成绩快的排在该道的前面,慢的在该道后面,等于是32匹马一起跑。然后最快的四匹就一目了然了,因为小组慢的马是不会超过前面小组快的马。(用这个方法找最快的前八也是9次)
引用 @心远 发表的:马已经累死了。。。
引用 @libracc 发表的: 写的详细点应该是选第二名马所在的组,那组的前三名,就是第一次跑的成绩
引用 @tk1384563 发表的:题目我没看错吧? 不是64匹中,选出最快的4匹吗? 9轮完事 = 8组选第一 + 第一的8匹跑一轮 最快的前4 不就是了? 为啥出现 11轮 和15 轮的? 不是选 最快的 32匹吧?
引用 @桐梓小葱花儿 发表的: 你是不用计算器嘛,直接8回合,找出跑得最快的4匹马呀
引用 @NA丶MI 发表的:好像不对啊,这样没法确定第5,6,7,8组的第二名比第123组的第二名慢吧
引用 @虎扑JR1375400214 发表的:这怎么用快排?如果让他们一起跑,那一把就出结果了,不需要快排啊
引用 @a科比可爱 发表的:网易是冲会员可能一回合选出来,不冲会员选不出来。
引用 @终恋ez 发表的:充会员一回合就能选出来,不充会员选不出来。
引用 @Matere 发表的:先取八匹 拿前五 前四保留 第五和没跑的七个再测 best case就是那五只就是最快的五个 总共就1+56/7 9次
引用 @珞珞珞一 发表的: 真心求问老哥,第一次选的八匹和第二次又选的七匹都是随机选的吗?那会不会出现这种情况:第一次选的八匹的第六名比第二次选的第二名要快呢?这样的话第六名比别的🐴快但它已经被淘汰了
引用 @生命之厦 发表的: 给你点赞的都是憨憨....
引用 @Matere 发表的:随机的 而且只要前四 所以第五之后的都可以直接淘汰
引用 @sweetbis 发表的:分八组每组八匹马,八个回合可以取出每组最快的马,一共八匹。正好可以放到八个赛道,接下来只需一轮就可以选出前四名,也就是最快的四匹马。一共九轮。。。。。。我的理解
引用 @神秘学生 发表的: 借个楼,题目不是说最少几次吗?所以考虑最幸运的情况,第一次8匹马中正好包含前4,取第4名分8次和剩下的56匹马一起跑,发现剩下56匹马没有一匹比它快,得出最快的4匹马,共赛跑1+56÷7=9次。如有漏洞请指点
引用 @纯白交响曲 发表的: hh你说出这话可能也没理解我🤣🤣
引用 @大英帝星斯特林加德 发表的: 假设出现一组马里面所有马都比其他一组马快呢。
引用 @俄城上将乔治 发表的: 就是12次 前八次是分组跑 然后决出各组第一 然后第九次各组第一一起跑 选出最强的 第十次最强那组的第二名顶替进来继续跑 抉出第二强的 一起类推 避免死亡之组的出现
引用 @cruel大热天 发表的:我实在太菜了,第二名组的前三名怎么来的😪
引用 @好诗好湿 发表的:8个第一名跑完后,排序就可以淘汰4组了, 排名前四的递补再继续比。
引用 @MyZw0w 发表的:答案看了10分钟 才看懂, 唉 码农无望
引用 @JRlemeo 发表的:老哥是学逻辑推理的吗?
引用 @cruel大热天 发表的:前面随机分的8组不是只可以知道它在本组的排名吗?第二名都拿出来怎么互相比较的?
引用 @Faymax 发表的: 当很多人没有理解你的时候就应该考虑考虑是你自己没表达清楚还是大家理解有问题
引用 @在水里游泳的恐龙 发表的: 第一次分组跑的,不同组的怎么比较?
引用 @说气人不你 发表的:明天报道
引用 @在下常昆 发表的:对啊 我也觉得这块是bug。
引用 @bagedeyalu 发表的:第一轮选不出前四名,只能选出8组里面的第一和第一名。万一前四都在第一名的组或者第二名出现 2.3.4三名的组都可能出现3.4都被你过滤掉了
引用 @瓜皮君 发表的: 前八在一队你跑完一轮就完犊子了,还那也得这样?跑完第一轮23名都被你淘汰了还需要跑下去?
引用 @SaxonTracy 发表的: 跑11次是很完备万无一失,但是,这题问最少的话,我答我会答两种,一种是11次,一种是9次。9次是:我取其中一组我认为最快的(分组能用经验最好,不行的话小组有经验用经验学习,再不行就撞大运),第四名跟其他七组第一名跑,跑第一,游戏结束。
引用 @萤火虫撞飞机 发表的:跑不了第一呢?
引用 @波罗的海交易所 发表的:简单算了一下,应该是8+4+2+1跑15次
引用 @shamrock_x 发表的:10回合可出先分8组比赛;取每组第一比赛,并排序,记第一名到第四名第一轮比赛所在的组分别为A,B,C,D;取A1,A2,A3,A4,B2,C1,D1比赛取前四即为最快四匹;8+1+1=10
引用 @我正在默念坝坝的名字 发表的:跟我刚的回答一模一样,英雄所见略同,既然是面试题,不可能还让你动笔,肯定有技巧。题目没规定一个赛道只能一匹马,也没有规定起点要相同。
引用 @不服气少年 发表的:这个人我网易要了
引用 @champdelachine 发表的:前面八组每组1234名都标好了呀。第九组是八个小组头名对决啊,后四个头名直接淘汰啊,因为不可能是前四了。怎么比较前四所在分组里其他马和前四谁快呢?首先冠军所在分组的234名都有可能比亚军快对吗,都拿出来;亚军所在组的第四是不可能了,因为亚军组三个比它快而亚军跑不过冠军,这就四个了;同理,季军所在组第三第四不用比了,分组里跑不过2个,而自己分组头名跑不过另2个;殿军组不用拿其他出啦了,因为冠亚季殿本身就四个了。因为冠军不需要再比了,已经王中王了,需要比的是冠军组234,亚军组123,季军组12,殿军。前面8匹跑,有任何一匹或多匹马超越亚季,亚季殿依次后移,比赛结束,一共跑了10场;如果没有任何马超越亚季,则需要刚才第十场没有超越亚季的第三名,和原来的殿军单挑一把,决出第四。写的这么详细,应该没有问题了吧?
引用 @遥隔_云端 发表的:算法题啊。。
引用 @cruel大热天 发表的:逻辑我懂,亚军组是前面每组的第二名对吧,它们之间又没有互相跑过,怎么知道亚军组排名的呢。就好像前面冠军组也是互相跑过了才出来的前四啊。
引用 @知白守黑1 发表的:为什么这么专业了还有人在辩
你是不用计算器嘛,直接8回合,找出跑得最快的4匹马呀
给你点赞的都是憨憨....
集合
冠军就跑两次......
人家又不叫马三石
让我想想你在黑谁
咋都这么傻啊?😂😂😂,不会掐秒表吗?8回合成绩就全出来了啊!
你这差远了
兄弟牛逼
聪明,但是1)速度不是线性的,头马可能加速度不够还是会被后面block 2)起点的几匹马也是有距离区别,到时候A2和B3谁快相比较可能还是要测量。
2、选每组冠军出来作各组代表跑,跑一轮,后四的全组淘汰,第四的淘汰组内后三,第三淘汰组后二,第二淘汰组内后一,剩10匹马;
3、把上面的各组依各组代表的名次排abcd组,a2、a3、a4、b1、b2、c1、d1出跑,决出前三,若前三为b1b2c1,则需再比一次;
最好情况为8+1+1,最坏为11次
这个答案我喜欢
用第一次跑的成绩,直接选出前四就可以了吧?
如果跑的最快的四个在同一组,这种方法不就不行了吗
审题
8个第一名跑完后,排序就可以淘汰4组了, 排名前四的递补再继续比。
先取八匹 拿前五 前四保留 第五和没跑的七个再测 best case就是那五只就是最快的五个 总共就1+56/7 9次
网易是冲了也选不出来 🐶
假设出现一组马里面所有马都比其他一组马快呢。
一个回合,掐个表就行
充值得神道具,码表
马每次跑都能一样快的吗?
真心求问老哥,第一次选的八匹和第二次又选的七匹都是随机选的吗?那会不会出现这种情况:第一次选的八匹的第六名比第二次选的第二名要快呢?这样的话第六名比别的🐴快但它已经被淘汰了
随机的 而且只要前四 所以第五之后的都可以直接淘汰
哈哈,我后面说了审错题了,我的
刚刚百度了一下把64匹🐴速度全部排出来的方法,现在再看这个就懂了👍🏻
第一轮选不出前四名,只能选出8组里面的第一和第一名。万一前四都在第一名的组或者第二名出现 2.3.4三名的组都可能出现3.4都被你过滤掉了
审题,审题🐶🐶🐶
1~8号先比第一回合,淘汰后四位
9~12号进补,再比第二回合,也淘汰后四位。
13~64号按照相同的原则依次进补,比下一回合。
(64-8)÷4=14
14+1=15回合
best case可还行 这种题算的都是worst case下的最优解 即“这样做保证能选出正确答案” 注意审题
当很多人没有理解你的时候就应该考虑考虑是你自己没表达清楚还是大家理解有问题
所以第一名冠军马里的前4全部晋级啊
但是你也不知道哪一组是死亡之组吧?
那这组🐴的前四名就会被选出来了。
第二组老大肯定是第二往下啊,老四肯定是第五往下就不用再测了
是的😂我搞错了
很简单的算法优化题,而且感觉这道题更考验数学理解。你要想整这一块去学学数据结构和算法设计?
理论上最少一次就可以,因为正好这一次的前四就是最快的,有这个几率。
想问题仔细一点,其他组的第一可能连一组的前四都没有
算法
还是这个说的清楚
前面八组每组1234名都标好了呀。
第九组是八个小组头名对决啊,后四个头名直接淘汰啊,因为不可能是前四了。
怎么比较前四所在分组里其他马和前四谁快呢?
首先冠军所在分组的234名都有可能比亚军快对吗,都拿出来;亚军所在组的第四是不可能了,因为亚军组三个比它快而亚军跑不过冠军,这就四个了;同理,季军所在组第三第四不用比了,分组里跑不过2个,而自己分组头名跑不过另2个;殿军组不用拿其他出啦了,因为冠亚季殿本身就四个了。
因为冠军不需要再比了,已经王中王了,需要比的是冠军组234,亚军组123,季军组12,殿军。前面8匹跑,有任何一匹或多匹马超越亚季,亚季殿依次后移,比赛结束,一共跑了10场;如果没有任何马超越亚季,则需要刚才第十场没有超越亚季的第三名,和原来的殿军单挑一把,决出第四。
写的这么详细,应该没有问题了吧?
你看了我的回复内容以及回复的都是谁了吗?你是如何得出很多人没有理解我这个结论的?还是说你是带哲学家就是想来给我讲道理的?
第一次分组跑的,每组跑一次排序,不得做几号吗?🌚
这还不简单?马腿最长的跑得最快
难道第一轮八组跑完你不得做个记号
1(1) 1(2)…
2(1) 2(2)…🌚
哇,豁然开朗了。
跑八个回合就行了,时间全记上,用时最短的四匹就前四
取每组前4啊,2 3名怎么会淘汰掉
跑不了第一呢?
非常严谨,11次没毛病
有没有计时器
跑不了第一也是11次
上面那么多答案你还简单算,尴尬😅
🐮🍺
那你们为啥不第一次就8赛道各8匹马分次跑呢?
给网易有个屁用,充了也选不出来
我没太理解为啥第一轮冠军组的第4名肯定会比第一轮第一名中的第五跑得快?
为啥第一轮第一名的后四个就淘汰了?
卧槽,你别说,用算法我觉得是11次,但是你这个比较法好像也是真的能找到
逻辑我懂,亚军组是前面每组的第二名对吧,它们之间又没有互相跑过,怎么知道亚军组排名的呢。就好像前面冠军组也是互相跑过了才出来的前四啊。
第一圈,8个跑道各8匹,每道取前四,剩32
第二圈,4个跑道各8匹,每道取前四,剩16
第三圈,2个跑道各8匹,每道取前四,剩8匹
第四圈1个跑道8匹马,取前四,👌
你这还不如充会员
本质上就是内存不足的topk问题。
亚军组是第九场,8个分组塞头名跑出来的第二名,原来所在的分组啊!
等等,你不会是玩鸽子为啥那么大吧?
因为很明显是错的
马化腾直接让位你来做。