**
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹(详解)?
第一步:(8
场)
** 64匹马,分八组,一共比八场**
结果:淘汰每组的后四名,因为任何一组的前四名都有可能是所有马中最快的四匹,此时还剩32匹马。
第二步:(1
场)
** 取第一轮比赛的八个第一名再比一场**
结果:淘汰后四名所在组的全部马,此时还剩16匹马
第三步:(1
场)
** 此时,冠军已经出来了,就是剩下的四个第一里面跑到最快的马,排除他还剩15匹马,再取第一名组的剩余三匹马,第二名组的前三,第三名组的前二,第四名组的前一,其他全部淘汰,还剩9匹马,选八匹马出来再比一场可以得出前三名*
这时还有9匹马(详解:因为第一名已经有了,第一组的剩余三匹马有可能是剩下三名,第二组前三也有可能,第三组的前二加上第二组的第一名也有可能,第四组的第一加上第三组的第一加上第二组的第一也有可能是剩余的三名最快的马,这里看不懂的无法理解的可以多想想)
第四步:(1
场)
** 最后拿前三名和剩余一个没有比的在比一场,取前三,加上第一名,就是最快的四匹马**