引用 @托马斯打爆校队中锋 发表的: 杠一下,前8的🐎分到一组咋办
引用 @谨言慎行p 发表的: 不对啊兄弟 假设跑的最快的四个全在第一组里 你取每组的第一能取得全部的前四吗
引用 @喜欢老马刺 发表的:题目不是选前四,而是最快,所以没毛病
引用 @谨言慎行p 发表的: 兄弟你是在抖机灵吗 我可能没看懂 如果不是建议你重新审题
引用 @小冰狗 发表的:那头叫化腾的跑得最快,叫云的最后一名🐶
引用 @一切安康 发表的:测速不是八次就跑完了
引用 @桐飞飞 发表的:比快慢不也得必须全部跑完吗?
引用 @0230j 发表的:我觉得跑8次,记时就行了。
引用 @欧文铁杆小迷弟 发表的: 堆排序好像更慢
引用 @Mr_Leons 发表的:我的我的 我主要是想说我回复的那个老哥他的解题肯定不对我才这么讲的 正常来说肯定不会像我那么比的吖
引用 @Mr_Leons 发表的:那照你这么说的话 88分组 每组取第一名 第9回合就知道谁是最快的前4名了。如果要杠一下的话 第一回合应该是有8组比赛 第二回合就是每组第一跑了 所以2回合就知道前4了。
引用 @詹老皇 发表的:可能存在有的小组第四都比其它组第一快,所以第一轮需要取前四
引用 @虎扑JR1375400214 发表的:专业点,毕竟不是985一条街,一共跑11回合就OK了。先随机分8组,取出每组前4。然后让这8组的冠军跑一轮,留下前4名,这时候冠军已经确定了。剩下的4组舍弃。然后取出冠军组的2,3、4名,第二名组的1,2,3名第三名组的1,2名第四名组的1名。这9匹马跑两次,取出前3就OK8+1+2=11次
引用 @虎扑JR0708786479 发表的:大家一起来啊,取前四
引用 @极夜之辰 发表的: 借楼,分三轮进行第一轮分八组,每组八匹,记下每组前四;第二轮,第一轮的每组第一组成第九组跑一轮,记下前四;第三轮 第九组的1名和2名所在原小组的234名共6匹加上第九组的三四名组成第十组跑一轮,记下前二第九组的前二加上第十组的前二就是最快的四匹🐎了,一共用了8+1+1=10个回合。
引用 @虎扑JR1375400214 发表的:前面随机分8组跑是白跑了吗,我看你是存心的,不是自己的马,你想把他累死了
引用 @蓝波比基尼 发表的: 你也一起来报道
引用 @Tan笕棣 发表的:你不专业啊 有个兄弟说法很有道理 随机抽一匹马 剩下的63匹马分别和他跑9次 只把这匹马前边的留下来 如果运气好,随机抽中的马是第四或者第五 那么9次就搞定了
引用 @梦归07 发表的:等你冒完泡,马嘴巴里都冒泡了
引用 @终恋ez 发表的:充会员一回合就能选出来,不充会员选不出来。
引用 @龙城所飞 发表的:还是说详细点会好一点,题目要求决出前四,第一轮分八组,开始的时候我们什么都不知道,但是我们跑完了就能知道每组最快的一个,然后拿这八个去跑出前四,这时候的前四意味着他们会快过后四和后四所在组的2-8名,然后同时我们也知道了这64匹马中谁是最快的了,这里标记一下这四匹马分别是ABCD好了,我们现在要选的234名,那么候选就剩下了A组的234,因为我们不知道这234是不是比B1快,然后B组则是123进入候选,因为我们只需要选四匹,接下来是C组但是C1不可能是第二快因为至少B1要比C1快,所以C组只取12候选,最后还剩D组只用考虑D1了,这样就还剩9个候选,我们要选其中最快的3匹,然后问题的关键在于10次到底够不够,我的理解是不够,因为这里是比较范围从九匹马缩小成八匹马,而只能用第三去排除其对应排名更靠后的马而不能通过第四去确定排名更靠前的马,举例的话就是假定A2是第三快的马的话那么A3和A4一定更慢,但假如A3是第四快的马的话那么A2并不一定快过BCD组的马因为他们都比A1要慢,所以在最后一步9匹马决出前三的比赛中,只要被取除的马对应的前一匹马不是第三,就无法确定被取出的那匹马是否比所在的第三名的马慢,因此存在十次出结果的可能但是十一次一定可以出结果
引用 @知白守黑1 发表的:为什么这么专业了还有人在辩
引用 @木古女未子 发表的:让你打工,不是来当领导的
引用 @教练我想打蓝王求 发表的: 按这个思路每组都要取前四才行,因为有可能最快的四匹一开始就在同一组,不过应该有令人意想不到的方法
引用 @sleepylizard 发表的:我觉得是最多9次。前八次一样,找本组最快的四匹马。第九次:每组前四按照快慢列竖队,小组成绩快的排在该道的前面,慢的在该道后面,等于是32匹马一起跑。然后最快的四匹就一目了然了,因为小组慢的马是不会超过前面小组快的马。(用这个方法找最快的前八也是9次)
引用 @shamrock_x 发表的:10回合可出先分8组比赛;取每组第一比赛,并排序,记第一名到第四名第一轮比赛所在的组分别为A,B,C,D;取A1,A2,A3,A4,B2,C1,D1比赛取前四即为最快四匹;8+1+1=10
引用 @我正在默念坝坝的名字 发表的:共9次可以选出来。既然是面试题不是笔试题,我想里面一定有技巧,没那么复杂。1. 第1-8轮,每8匹马并排跑,选前4,按快慢速度编号1-4;2. 第9轮,每个赛道同时放4匹马,即前8轮没轮胜出的4匹马,快马在前,慢马在后,一轮后最快的4匹露头。没有规定一个赛道只能一匹马,也没有规定起点必须在同一个点。
引用 @卡安雨 发表的:这是清华大学2009年自主招生的数学题,当然那个题更复杂一点。这个题目是简化版了,题干没说清楚,应该是不能测速,只能比快慢,怎么比出来最快的4匹马。
引用 @泉州古大乐 发表的: 第一回合8次,记录下名次,第二回合的从8组第一的拉出来比,第二次比赛后面4名的组全组淘汰,第4名的除第一次第一外组全组淘汰,第3名的组第一回合前二进组,3.4淘汰,第2名的组第一回合前3晋级,第4淘汰,第一名的组,全组晋级,并且2次第一保送,剩下9匹马选前3,可能需要2次,所以总共应该是8+1+2,11次选出前4的马,不知道对不对。
引用 @霹雳无敌仲恺小霸王 发表的:比快慢,有些马就不止跑一次。测速的话,所有马册一次就行了
引用 @绿谷同学 发表的: 如果用数据结构里归并排序来解决,先分成4个队,8个队每个队8马,每个队跑一次,选出每个队前4,这样就淘汰一半的马。剩下32匹再分成4个队,每个队跑一遍选出前4,剩16匹。分两队跑,剩8。最后8马跑一次,剩4。
引用 @XanxusQAQ 发表的:不对啊,比如1组里的成绩是1,2,3秒,2组的成绩是3,4,5秒,那2组的最快真正上比一组的后两名还慢,题目说是选出最快的4只,这样选的话就出错了啊
引用 @tk1384563 发表的:题目我没看错吧? 不是64匹中,选出最快的4匹吗? 9轮完事 = 8组选第一 + 第一的8匹跑一轮 最快的前4 不就是了? 为啥出现 11轮 和15 轮的? 不是选 最快的 32匹吧?
引用 @coquettishguy 发表的:
引用 @2021年MVP德文布克 发表的: 八八分组比八组,8回合每组第一比一次,9回合将t9第一名所在小组的2-4名和t9第二名所在小组的1-4名和t9第三名比一次,10回合这里分出两种情况:第一种是t9的第三名不为t10第二名,这种情况下,t10前三加t9第一为最快的四匹马。第二种是t9的第三名为t10第二名,此时进行t11,将t9第三名所在小组的第二名与t9第四名比。这种情况下t9的前三名加t11胜者为最快的四匹马。
引用 @低调小卡戎 发表的: 看没人回你,借个楼吧🐶。一共需要比赛11回合。64匹马分八个小组,每组取前四。(剩32匹)然后,这八个小组的“冠军马”赛一下,后四名“冠军马”所在的小组,整组淘汰,还剩四组马。(剩16匹)第一名“冠军马”,所在小组取前4名马留下来。第二名“冠军马”,所在小组取前3名马留下来。第三名“冠军马”,所在小组取前2名马留下来。第四名“冠军马”,所在小组只留第1名。这时候还剩10匹马,最快的4匹绝对在这里。最后,这10匹马,随机选8匹赛一次,取前四。然后用这四匹再加上剩下的两匹马,再赛一次,取前四名。那么这四名就是最快的四匹马了!8+1+1+1=11PS 我这么跑让老大多跑了两次,实在不好意思,但这样跑jrs们好理解啊🐶
引用 @我就是玉. 发表的:第二名组不是前三,而是前二晋级,第三肯定跑不过前二,以及他俩前一轮输的同组第一,已经不可能争第四了。不过轮数还是得这么多。
引用 @mengtuo7 发表的:奥运会比法,八八分组,小组前四进下一轮,8+4+2+1共计15回合
引用 @我只发福利 发表的:9次,第一组最快的进入下一轮,加7匹马,依此类推,8+7+7+7+7+7+7+7+7=64,最后一轮最快的就是最快的
引用 @shamrock_x 发表的:还有b1,漏掉了
引用 @洛杉矶默豪帝 发表的: 来我们这儿也行
引用 @十年戎马求孤单 发表的: 叠杀人书?
引用 @我就虾bb 发表的:题目没说完,其实是不准计时,只比快慢
引用 @训鹿源 发表的:为啥第十次找不到第四名
引用 @居然还有这种操作 发表的:这是最全面的答案。更严谨的说法是: 留下冠军组的第四名,或亚军组的第三名,或季军组的第二名。如果它的前一名被淘汰了,那就不用比第11次了。 如果留下第四名组的那匹,如果第三名那匹被淘汰了,那也不用不第11次了。
引用 @在水里游泳的恐龙 发表的: 第二名组的123是怎么选出来的呢?
前四出来了,要的是前四,下一轮还是这四个前四
题目不是选前四,而是最快,所以没毛病
兄弟你是在抖机灵吗 我可能没看懂 如果不是建议你重新审题
看错题目了。。。好了,我去找眼科去了
this pony horse most fastest. the jack horse👋🌟
就是咯,如果可以测速的话,这道题就不需思考
比快慢,有些马就不止跑一次。测速的话,所有马册一次就行了
那就是前四的一直赢到最后🐶
题目没说完,其实是不准计时,只比快慢
那就哈希排序 不行就还有很多 数据结构书里面大把排序
每组去前四进下一组肯定对的,而且是大多数人容易想到的方式,只不过未必是最快的方式
悬前一,不一定代表是最快4匹马,每个回合选前四,那就一定包含在内。
211,985一条街不应该啊。
按这个思路每组都要取前四才行,因为有可能最快的四匹一开始就在同一组,不过应该有令人意想不到的方法
看成64个互不相同的数,每次只能拿八个出来比较,找最大的四个是不是简单得多
八个跑道
验证对不对,只要想象一下最快的四匹马第一轮就分在同一组这一种情况
前面随机分的8组不是只可以知道它在本组的排名吗?第二名都拿出来怎么互相比较的?
马化腾化身星宿老仙?会拍马屁的全收了?
这句不专业真是把大伙都逗笑了 人家有理有据 你看不懂就是不专业 别人的弱智理论 你看懂了就是有道理 题目要最优 你在这碰运气?运气不好 岂不是留下了63匹马?
工资你说了算
能看懂,不要说这么复杂,感觉更容易把人说懵逼。
你就说:
64匹马分八个小组,每组取前四。(剩32匹)
然后,这八个小组的“冠军马”赛一下,后四名“冠军马”所在的小组,整组淘汰,还剩四组马。(剩16匹)
第一名“冠军马”,所在小组取前4名马留下来。
第二名“冠军马”,所在小组取前3名马留下来。
第三名“冠军马”,所在小组取前2名马留下来。
第四名“冠军马”,所在小组只留第1名。
这时候还剩10匹马,最快的4匹绝对在这里。
最后,这10匹马,随机选8匹赛一次,取前四。然后用这四匹再加上剩下的两匹马,再赛一次,取前四名。那么这四名就是最快的四匹马了!8+1+1+1=11
PS 我这么跑让老大多跑了两次,实在不好意思,但这样跑jrs们好理解啊🐶
我这样说,看能否更好理解?
:
64匹马分八个小组,每组取前四。(剩32匹)
然后,这八个小组的“冠军马”赛一下,后四名“冠军马”所在的小组,整组淘汰,还剩四组马。(剩16匹)
第一名“冠军马”,所在小组取前4名马留下来。
第二名“冠军马”,所在小组取前3名马留下来。
第三名“冠军马”,所在小组取前2名马留下来。
第四名“冠军马”,所在小组只留第1名。
这时候还剩10匹马,最快的4匹绝对在这里。
最后,这10匹马,随机选8匹赛一次,取前四。然后用这四匹再加上剩下的两匹马,再赛一次,取前四名。那么这四名就是最快的四匹马了!8+1+1+1=11
PS 我这么跑让老大多跑了两次,实在不好意思,但这样跑jrs们好理解啊🐶
因为笨🐶
看没人回你,借个楼吧🐶。
一共需要比赛11回合。
64匹马分八个小组,每组取前四。(剩32匹)
然后,这八个小组的“冠军马”赛一下,后四名“冠军马”所在的小组,整组淘汰,还剩四组马。(剩16匹)
第一名“冠军马”,所在小组取前4名马留下来。
第二名“冠军马”,所在小组取前3名马留下来。
第三名“冠军马”,所在小组取前2名马留下来。
第四名“冠军马”,所在小组只留第1名。
这时候还剩10匹马,最快的4匹绝对在这里。
最后,这10匹马,随机选8匹赛一次,取前四。然后用这四匹再加上剩下的两匹马,再赛一次,取前四名。那么这四名就是最快的四匹马了!8+1+1+1=11
PS 我这么跑让老大多跑了两次,实在不好意思,但这样跑jrs们好理解啊🐶
不是,前面已经知道名词,所以后面的比赛一组的前两名对其它组的三四名
腾云化马
你这不是12次了吗。。
我问你,第4快的马,如果是B3怎么办?不就漏了
那更简单了,我为啥不让64匹马一起跑呢,一个跑道站8匹,一回合搞定
题目我没看错吧? 不是64匹中,选出最快的4匹吗?
9轮完事 = 8组选第一 + 第一的8匹跑一轮
最快的前4 不就是了?
为啥出现 11轮 和15 轮的? 不是选 最快的 32匹吧?
我寻思它跑道没规定多长,那我将8条跑道每条平均分成8份不就好了?
题目我没看错吧? 不是64匹中,选出最快的4匹吗?
9轮完事 = 8组选第一 + 第一的8匹跑一轮
最快的前4 不就是了?
为啥出现 11轮 和15 轮的? 不是选 最快的 32匹吧?
不能记个时间 然后就8回合得出结论吗
"记录下名次" 空间复杂度炸了
对啊,所以至少得全部跑完,他那句话有歧义,给人感觉就像比快慢不用全部跑完就行
这种题在大互联网厂面试里很常见而且是秒解题。一般是这样出,16个数找出4个最大的,写出代码,讲讲时间复杂度,空间复杂度,题目这个给出8跑道这个空间复杂度了,只有这一个特解。
第二轮第二组就都淘汰了
肯定不对呀,第一组的第二万一比第二组的第一快呢,他这个前四是有意义的
跟大哥说话 要用您
第十回合应该是t9第一名小组的2-4 第二名小组的1-3和t9第三第四名来一次
如果t9第三不是t10第二 这一次前三加t9第一就是最快4
如果t9第三是t10第二 那t9第三那个小组的第二名和t10的第三名竞争一下就可以了
厉害
9次,第一组最快的进入下一轮,加7匹马,依此类推,8+7+7+7+7+7+7+7+7=64,最后一轮最快的就是最快的
不太理解,第二名组的第三名为啥不能是整体第四
每组第一比一下 后四名加上其所在的组和第四名那组剩下的三匹去除 剩下再来比 这样更快
哦4匹,我错了。。。
你这个不对,如果第三轮是第九组三四名拿到了前二,无法判断他们两位各自所在的原小组有没有第四快的
别人是对的
你无法判断b3和c2够不够快
堪忧
看了回复 说211都有点难为情哈哈哈
借个楼,题目不是说最少几次吗?所以考虑最幸运的情况,第一次8匹马中正好包含前4,取第4名分8次和剩下的56匹马一起跑,发现剩下56匹马没有一匹比它快,得出最快的4匹马,共赛跑1+56÷7=9次。如有漏洞请指点
老哥是学逻辑推理的吗?
马总好
这好像是之前有个jr发的,原图截出来的,马云左边就是那个jr
这都有13个亮,令人捉急的逻辑思维
这个逻辑靠谱的很
我阿里要你了
我只要8次就可以了
想那么多干嘛?每匹马跑一次,挑出最快的四匹马不就完事?
没说不准计时啊?你自己脑补的。
跑八回合,一回合8匹马,计时看看哪四匹最快不就行了吗😂😂
原题应该是不允许这样的,就像这个题干没说不能用计时器
如果决赛第三名在第十次比赛刚好又排第二(这也是他的理论最高排名),相当于总名次第三,那么他那个小组的第二是有资格和第十次比赛的后六名再比一次竞争第四名的,否则的话就不需要第十一次比赛了,十次搞定
这个确实是最严谨的答案了
直接安排管理层,有潜力🐶
这里的第二名,是指每组冠军跑一次出来的第二名。既然组内冠军最多只能是全部的第二了,那么说明全部前四的最多只能是第一次跑出来的前三名