乙個facebook面試題的演算法求解

2022-01-23 19:37:10 字數 1793 閱讀 8506

**我的qq空間

1

今天上午在實驗室的時候無意間看到了世界五百強的面試題,被facebook的一道題所吸引,所以就總結了一下思路。把程式寫了出來。

2 剛才寫完測試了一下,基本沒什麼問題,而起在完成後發現有些步驟其實就是多餘的~~~

3題目如下:

4facebook:25匹賽馬,沒有秒錶,五條跑道。用最少的比賽場次找出三匹跑的最快的馬。

5我在完成程式後得到的結果就是只要7次就能得到最快的3匹馬。

6**如下,沒用的地方請自行忽略。

7 #include 8 #include 9 #include 10

#define x 5

11#define fast3 3

12#define exchange(a,b)

13using

namespace

std;

14class

fhorse15;

22int

horse[x][x];

23horseinfo fasthorselist[x];

24horseinfo top3[fast3];

25int

comparetime;

26void

initial();

27void

fhinitial();

28int

icomptime();

29int maxsort(int * array,int

length);

30void

fhmaxsort();

31public:32

fhorse();

33 ~fhorse();

34int test(int times=0

);35

void

dispaly();

36};

37fhorse::fhorse()

3842 fhorse::~fhorse()

4346

void

fhorse::initial()

4755

int fhorse::test(int

times)

5666}67

intfhorse::icomptime()

6889

int fhorse::maxsort(int * array,int

length)

9097}98

void

fhorse::fhmaxsort()

99114

}115

}116

void

fhorse::fhinitial()

117123

fhmaxsort();

124}

125void

fhorse::dispaly()

126134

for(int i = 0;i < x;i++)

135139 cout<<"

the top 3 horse\n";

140for(int i = 0;i < fast3;i++)

141145

}146

intmain()

147156

因為在寫**前思路不是很清晰,誤以為每次的比賽次數不一定,所以寫了乙個test去求均值。

157但是現在看完全不用了。

158具體的演算法我就懶得打字了,其中的一些情況在我的多次測試下基本正確。

159 如果演算法有問題,可以問我,語法問題概不負責。

乙個面試題

題目是 假設乙個 搜尋引擎收錄了2 24首歌曲,並記錄了可收聽這些歌曲的2 30條url,但每首歌的url不超過2 10個。系統會定期檢查這些url,如果乙個url不可用則不出現在搜尋結果中。現在歌曲名和url分別通過整型的song id和url id唯一確定。對該系統有如下需求 1 通過song ...

乙個面試題

在不超過最右邊的數量的情況下任意組合,要求加起來不超過20280這個數字,但達成最接近的情況,現有一種方法為 1290 4 2990 5,差170,有沒有更接近20280的答案 資料如下 4900 13790 22990 5 意思是不能超過5次,但可以使用1次,2次,3次,4次,5次。2390 31...

乙個面試題

res fromkeys name password age print res print res print id res name id res password res name 666 print res 輸出 57496360 57496360 fromkeys 建立字典時,字典中所有的...