騰訊QQ面試題:賽馬問題

問題:有64匹賽馬,有8個跑道可以利用,賽馬的速度是恆定的,不計時但記錄每次比賽的名詞,請問賽幾次可以取得速度排名前四的賽馬?

 

解答:10到11次

 

開始沒看懂題目,搞來搞去弄了半天,其實有了想法還是比較簡單的。

 

主要的判斷依據其實就是如果這匹馬已經沒有取得前四的機會了,就是至少有4匹馬速度比它快,則它就不用再參加剩下的比賽了。

 

具體做法:

 

1.首先把64匹馬隨機分成8組,分別進行8次比賽,記錄成績。

 

2.再將每組第一名集合起來進行一次比賽。這是第九次比賽。

 

3.留下第九次比賽前四名的馬所在的組。因爲對於後四名的馬所在的組來說根據判斷原則沒有一匹有機會進入前四的。

 

4.剩下的四組按照每組第一名在第九次比賽的成績排序,這樣按照判斷原則,只剩下10匹馬(如下)可能進入前4,而第一組的第一名肯定是跑最快的馬。

 

第一組: 1 2 3 4
第二組: 1 2 3
第三組: 1 2
第四組: 1

 

這樣問題就變成9匹馬找出前三快的。情況好的話跑一次可以得到,不行的話兩次。

 

所以結果是10或者11

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章