一道有趣的面試題

2022-03-18 23:08:56 字數 1216 閱讀 4326

今天去智聯招聘面試他們資料分析師的時候,部門boss給我出了三道題,前兩道暫且不提,第三道很有意思,作文以記之。

題目3:1樓到10樓的每層電梯門口都放著一顆鑽石,鑽石大小不一(各不相同)。你乘坐電梯從1樓到10樓,每層樓電梯門都會開啟一次,只能拿一次鑽石且沒有掉頭向下的機會,問怎樣才能拿到「最大」的一顆?

讀完題目我第一反應是動態規劃問題,之前記得碰到過類似的扔雞蛋求臨界樓層問題,但仔細一看題目,應該是毫不相關,而且這道題看上去是「無解的」。

我當時不確定問題,就問boss這道題看似無法保證最優解,boss笑著告訴我說你告訴我你思路即可,並給我限制了7分鐘的解題時間。

我給出了思路,大致如下:

1.肯定不會在一開始就伸手拿鑽石,因為最大那顆鑽石放在一樓概率是0.1

2.二樓該不該拿?因為二樓有兩種可能,鑽石比1樓大,也可能比1樓小,同樣的最大那顆鑽石放在2樓概率也為0.1,但是有了1樓鑽石做參照,2樓鑽石較大時去拿,顯然獲取到最大的那顆鑽石的概率更大,但是最大的鑽石出現在1樓或2樓的概率為0.2,還是太低,不取。

3.根據以上思路,應該會有某個樓層k,我們將k樓層之前的樓層做為訓練集,k樓層做為支援向量,凡是在k層之後出現的比之前所有鑽石都大的那顆我們就拿下。這樣應該能保證取到最大的那顆鑽石的概率最大。

時間比較短,想法也很簡陋,並未深究,好在部門boss對我的思路表示還算滿意,並提示我回去檢視37%法則,告訴我有嚴格數學證明。

根據此題我也專門檢視了37%法則,依據法則解題如下

之前思路其實是37%法則的樸素**,這裡假設有n個樓層,n可以趨向於無窮大。

對於某個固定樓層k,如果所有鑽石中最大的那顆鑽石出現在了第 i 個位置(k < i ≤ n),要想讓它正好被我們選中,就必須得滿足前 i-1 個鑽石中的最大的鑽石在前 k 層裡面,這有 k/(i-1) 的可能。考慮所有可能的 i,我們便得到了試探前 k 層之後能選中最大鑽石的總概率 p(k):

用 x 來表示 k/n ,(假設 n 充分大),則公式1可以寫成如下變限積分形式:

對p(k)求導,令其為0(求極大值,x的區間為(0,1)),解得k=n/e

也就是說,在我們這道題目中應該在k=10/e≈3.678=4層 

也就是說,我們在4層過後取第一顆出現的,比之前4層都要大的鑽石即可保證1/e的概率(約為37%)拿到最大的那顆鑽石。 

假如沒有出現這樣的鑽石,我們取第十層的那顆即可。

這其實就是機器學習領域常用到的最大似然估計,沒事的時候還要多翻翻書才是。

一道有趣的面試題

下面是一道很經典的智力型面試題,也是我一朋友在bat面試中親身見識過的一道題。各位來體驗一下,看看自己的大腦是不是好使。有一棟樓共100層,乙個雞蛋從第n層及以上的樓層落下來會摔破,在第n層以下的樓層落下不會摔破。給你2個雞蛋,設計方案找出n,並且保證在最壞情況下,最小化雞蛋下落的次數。假設每次摔落...

一道有趣的面試題

日前在網上看到一道 面試題。頗有意思,也細細的研究一番。現將該題發布於此,和各位交流一下。某幢大樓有100層。你手裡有兩顆一模一樣的玻璃珠。當你拿著玻璃珠在某一層往下扔的時候,一定會有兩個結果,玻璃珠碎了或者沒碎。這幢大樓有個臨界樓層。低於它的樓層,往下扔玻璃珠,玻璃珠不會碎,等於或高於它的樓層,扔...

一道面試題

一道面試題 射擊運動員10發打中90環有多少種可能,請編寫程式計算出來,並列印出結果,0環和10環均有效。打中90環就是沒打中10環,所以打中90環跟打中10環的可能性是一樣的。然後開始遞迴狂打槍,一到10就記錄 if params i 10 在迴圈的控制中已經排除了大於10的可能性 i 10 pa...