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

更多的网友参与了回答。1,分8组,每组一次跑完,决出前4名,每组的后4名淘汰,这样8个来回之后,还剩32匹马;2,把每一组的第一名拉出来赛一回合,淘汰后4名以及他整个小组,同时排第一的组,冠军出来了,还剩3匹马,第二组,去掉最后一名,剩3屁,第三组去掉2名剩2名,最后一组剩1名,所以9个回合下来,剩9匹马争3个名额;3,8匹马一组,再来一回合,选前3名,这三个和剩下那个再来一次,选前3名。一共11回合,全部搞定。

最少10场(剩9匹的时候,选第一组的后3,第二组的前3,第三组的前2,如果第三组的第一这轮名次大于等于3,那就已经分出前四了),最多11场。

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

也有比较理智的网友分析到。8+4+2+1,每一次比赛都需要留下来最快的4个,大数据面试里面内存不够,需要外部排序的一个变种,信息论算一下就出来了,8个赛道一次提供A8,8的信息,a64,60。 思路对但是以我的尿性应该还有点bug,我们组也考这道题,我觉得当年进来的时候觉得这不就是奥数么很简单,5年没有变竟然。感觉8个回合就够了啊,每只马跑一次,用毫秒表记录下每个马跑的时间,去前四。

推荐阅读