騰訊算法面試題:64匹馬,8個跑道,選出最快的4匹,最少須要幾回

第一步:全部64匹,隨機分8組,每組跑一遍,把每組後面4個淘汰掉。用了8次,剩餘32匹

第二步:剩餘的4個裏面,用每組最快的那個組成一個新組,跑一遍,把後面4個所在組淘汰掉。用了1次,剩餘16匹

第三步:把第二步跑第一名的單獨拿出來,把第二步跑第二名的拿出來,剩餘8匹,讓這8匹跑一次,若是跑的最快的在兩個以上的組,用第二快替換掉第三名就獲得最快的4匹馬。若是最快的都在第一名所在的組,進入第四步。用了1次。

第四步:用第一名所在組的後3名加第二步的第二名組成一組,把最慢的一個淘汰掉,和第二步的第一名加起來就是最終的結果,最快的4匹馬。用了1次。

因此最少要10次或者11次能找出最快的4匹馬。

相關文章
相關標籤/搜索