天天看點

一組數字1-n,随機取走3個,求被取走的數【騰訊前端面試題】

本來是搜尋as3的相關資料(工作重心已經由前端開發轉向webgame開發),在看文章的時候又看到那道“騰訊前端面試題目”了,以前看到這些題目都不會太注意--感覺實際生産中不太實用。

x + y = b;

x * x + y * y = c

解上述二進制方程便可求解,那三個數,差不多類似

x + y + z = a;

x * x + y * y + z * z = b;

x * x * x + y * y * y + z * z * z = c;

但發現一個問題,解三元三次方程的時候容易出問題,是以這種思路并不是解這道題目比較明智的方法 :(

無論怎樣,看完這道題目,我就在想,我隻想使用一次循環就搞定它。因為曾經有過面試騰訊的經曆,是以既然出這道題,肯定是可以隻使用一次循環便可以得到結果的:)。當然使用兩次循環是很容易求出結果的…

重新再讀一遍題目,1~n個不重複的數 --- 如果把它當資料,那麼它的值與數組的索引有對應關系arr[1] = 1… OK,隻要這一個資訊就可以想到辦法實作它,直接先上截圖。

IE8下的顯示:

一組數字1-n,随機取走3個,求被取走的數【騰訊前端面試題】

Chrome (ver 17.0.963.2)下:

一組數字1-n,随機取走3個,求被取走的數【騰訊前端面試題】

Opera(ver 11.64)下:

一組數字1-n,随機取走3個,求被取走的數【騰訊前端面試題】

Firefox(ver 10.0.2)下(10ms以内,有所波動,但不會超過10ms):

一組數字1-n,随機取走3個,求被取走的數【騰訊前端面試題】

線上檢視/運作示例代碼:

騰訊前端題目