• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            A Za, A Za, Fighting...

            堅信:勤能補拙

            2011推理題 - 兩個雞蛋[zz]

            2 Egg Problem

             繼續(xù)我們的推理問題之旅,今天我們要對付的是一個Google的面試題:Two Egg Problem.

            我們開始吧! 

            No.2  Google Interview Puzzle : 2 Egg Problem

            * You are given 2 eggs.

            * You have access to a 100-storey building.

            * Eggs can be very hard or very fragile means it may break if dropped from the first floor or may not even break if dropped from 100th floor. Both eggs are identical.

            * You need to figure out the highest floor of a 100-storey building an egg can be dropped without breaking.

            Now the question is how many drops you need to make. You are allowed to break 2 eggs in the process

             

            分析與解答:

               

                 題目要求試的最大次數(shù)最小。首先,討論兩個比較trivial的方案。

             

               方案1:從第一層開始扔雞蛋,如果雞蛋不碎,則上一層再扔。這樣,如果雞蛋在某一層碎的話,該層就是臨界的層。這種方案的優(yōu)點在于省雞蛋,只會摔破一個雞蛋。還有一個雞蛋可以帶回家,做個雞蛋羹,補充營養(yǎng)個!  :) 缺點就是,如果雞蛋在100層才碎的話,那就要試100次啦。那你等電梯要等死啦,而且還要接受別人的打量的目光,心說這怪咖為什么每次都只坐一層樓啊…

             

              方案2 想必很多人都會想到這個方案。我只能說,這是中國計算機教育的成功啊。這就是“二分查找法”。首先在第50層樓扔雞蛋,如果雞蛋不碎的話,就去75樓。如果碎了的話,那么對不起,同志。由于你只剩一個雞蛋了,所以你得小心地從第一層開始,這樣才能保證你在雞蛋碎完的時候能找到臨界樓層。這種方法的優(yōu)勢在于,如果你知道你的雞蛋比較硬的話,你就采用這個方法吧。臨界樓層越高,這個方法嘗試的次數(shù)越小。但這種優(yōu)勢是用臨界樓層比較小時比較大的嘗試次數(shù)為代價獲得的。我們看到,如果臨界層數(shù)在49層的話,我們要嘗試50次,而臨界層數(shù)為100層的時候,嘗試次數(shù)只有7次。但是,現(xiàn)在的問題是,全部情況下的最大嘗試次數(shù)最小。這樣,雖然在某些情況下,這種方法的性能很好。但是就最差情況而言,還是要嘗試50次,好像還是有點大。這邊,我們想起來,“二分查找法”的目標(biāo)是平均性能最佳,并不是最差性能最佳。我們似乎走錯了路!!!不過,方案二相比方案一來講還是有進步的。

             

              方案2似乎陷入了“短板效應(yīng)”的泥沼,由于最壞情況下的壞性能制約了總體性能的提高。解決這個問題的總的原則應(yīng)是:“一碗水端平”,盡量做到各種情況下的嘗試次數(shù)盡量差不多。這正應(yīng)合GOOGLE的信條Don't be evil,不以別的情況為代價換取另一些情況的指標(biāo)的提高。做到“不傷害”.(呵呵,這是我瞎聯(lián)想的)。那么,就照著這條路走吧,我假設(shè)每種情況下最大的嘗試次數(shù)為x.

              則第一次扔蛋的樓層應(yīng)為x;

            第二次扔蛋的樓層應(yīng)為 x+(x-1);

               依次類推。

               從上面看到,每次我們增加的樓層都是前一次減1.我們所要保證的就是應(yīng)該在增加的層數(shù)變成0之前到頂樓,所以有:

               x+(x-1)++1100

               這是一個等差數(shù)列,整理后有:

                 x2+x-2000

            發(fā)現(xiàn)x14

             

            我們總結(jié)一下:

              第一次在14樓扔,如果碎了的話從一樓再開始扔;

            否則在14+13=27層扔,如果碎了的話從15層開始扔;

            否則在27+12=39層扔,如果碎了的話從28層開始扔;

            ……

            這樣,最大嘗試次數(shù)為14次就行了。不信你試試。

             

            最后,為了體現(xiàn)嚴(yán)謹(jǐn)性,給出本題的模型:

             

            轉(zhuǎn)移方程:

            minNum[n ] = min(1 + max(i – 1, minNum[n-i])) for 1n

            邊界條件:

            minNum[0] = 0; minNum[1] = 1

            這里,n為樓層數(shù),i為起始樓層數(shù)。

             

            據(jù)說這是一個動態(tài)規(guī)劃問題,我還沒來得及仔細研究。其實,我的感覺是,很多理論最初的來源都是很樸素的真理,只是我們沒學(xué)懂,所以把它們想復(fù)雜了。所以,很好的理論就這樣不被大多數(shù)人所理解了。

             

            參考文獻:

            1.       http://blog.csdn.net/TravelInHistory/archive/2006/12/07/1434098.aspx

            2.       http://classic-puzzles.blogspot.com/2006/12/google-interview-puzzle-2-egg-problem.html

            posted on 2011-09-25 00:13 simplyzhao 閱讀(512) 評論(0)  編輯 收藏 引用 所屬分類: R_找工復(fù)習(xí)2011

            導(dǎo)航

            <2010年7月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            統(tǒng)計

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久久久亚洲精品日久生情| 久久久久亚洲AV无码专区桃色| 久久久久久精品免费看SSS| 中文字幕无码av激情不卡久久| 久久99久久99精品免视看动漫| 久久精品国产黑森林| 日韩精品久久无码人妻中文字幕| 久久噜噜电影你懂的| 亚洲国产精品无码久久久久久曰 | 66精品综合久久久久久久| 久久国产精品波多野结衣AV| 无码国内精品久久人妻蜜桃| 久久免费视频一区| 久久综合九色综合欧美狠狠| 中文字幕日本人妻久久久免费 | 亚洲欧洲精品成人久久曰影片 | 亚洲av日韩精品久久久久久a| 精品久久久久久无码中文字幕| 亚洲va国产va天堂va久久| 狠狠色伊人久久精品综合网| 国产精品久久久久影院嫩草| 国产成年无码久久久免费| 久久久久久国产a免费观看黄色大片| 久久亚洲国产中v天仙www| 性欧美大战久久久久久久久| 伊人久久免费视频| 久久精品蜜芽亚洲国产AV| 亚洲色大成网站www久久九| 一本大道久久香蕉成人网| 久久露脸国产精品| 中文字幕精品无码久久久久久3D日动漫 | 91精品国产色综久久| 精品久久久久久久无码| 国产成人精品久久一区二区三区| 久久久女人与动物群交毛片| 久久99精品久久久久久久不卡| 国产A级毛片久久久精品毛片| 国产69精品久久久久9999APGF | 亚洲欧美日韩精品久久亚洲区 | 无码人妻少妇久久中文字幕| 一级做a爰片久久毛片免费陪 |