今天要聊一個很經典的算法問題,若干層樓,若干個雞蛋,讓你算出最少的嘗試次數,找到雞蛋恰好摔不碎的那層樓。國內大廠以及谷歌臉書面試都經常考察這道題,只不過他們覺得扔雞蛋太浪費,改成扔杯子,扔破碗什么的。 具體的問題等會再說,但是這道題的解法技巧很多,光動態規划就好幾種效率不同的思路,最后還有一種 ...
上篇文章聊了高樓扔雞蛋問題,講了一種效率不是很高,但是較為容易理解的動態規划解法。后台很多讀者問如何更高效地解決這個問題,今天就談兩種思路,來優化一下這個問題,分別是二分查找優化和重新定義狀態轉移。 如果還不知道高樓扔雞蛋問題的讀者可以看下 經典動態規划:高樓扔雞蛋 ,那篇文章詳解了題目的含義和基本的動態規划解題思路,請確保理解前文,因為今天的優化都是基於這個基本解法的。 二分搜索的優化思路也許是 ...
2020-02-17 10:09 0 933 推薦指數:
今天要聊一個很經典的算法問題,若干層樓,若干個雞蛋,讓你算出最少的嘗試次數,找到雞蛋恰好摔不碎的那層樓。國內大廠以及谷歌臉書面試都經常考察這道題,只不過他們覺得扔雞蛋太浪費,改成扔杯子,扔破碗什么的。 具體的問題等會再說,但是這道題的解法技巧很多,光動態規划就好幾種效率不同的思路,最后還有一種 ...
前言 大一的時候藍橋杯省賽遇到過(作為非編程題的壓軸題),這次看的別人的面經也多次出現,就寫篇博文總結一下。 題目 有一棟樓共100層,一個雞蛋從第N層及以上的樓層落下來會摔破, 在第N層以下的樓層落下不會摔破。給你2個雞蛋,設計方案找出N,並且保證在最壞情況下,最小化雞蛋下落的次數 ...
本文由 @lonelyrains 出品。轉載請注明出處。 文章鏈接: http://blog.csdn.net/lonelyrains/article/details/46428569 高樓扔雞蛋問題 這個問題非常有名了 早幾年之前面試的時候都遇到過,可是當時 ...
原題: 有2個雞蛋,從100層樓上往下扔,以此來測試雞蛋的硬度。比如雞蛋在第9層沒有摔碎,在第10層摔碎了,那么雞蛋不會摔碎的臨界點就是9層。 問:如何用最少的嘗試次數,測試出雞蛋不會摔碎的臨界點? 注意:只有兩個雞蛋。第一個雞蛋碎了,第二個雞蛋只能挨個樓層測試了。 動態規划解法 ...
1.台階問題 2.打家劫舍 3.背包問題 https://blog.csdn.net/u013885699/article/details/80248536 4.最長公共子序列 5.找領錢問題 ...
上次我們講到,我們的主人公丁丁由於用動態規划法解決了雞蛋掉落問題(egg dropping problem)而獲得了當地科學家的賞識。這不,正當丁丁還沉浸在解決問題的喜悅中,科學家又給丁丁出了一個難題: 假設有n個雞蛋和d次嘗試機會,那么,最多能探索多少層樓? 這無疑是雞蛋問題 ...
動態規划問題Java實現 如果我們有面值為1元、3元和5元的硬幣若干枚,如何用最少的硬幣湊夠11元? public class DPProblem { public static void main(String[] args ...
有形如下圖所示的數塔,從頂部出發,在每一結點可以選擇向左走或是向右走,一直走到底層,要求找出一條路徑,使路徑上的值最大。 從頂點出發時到底是向左走還是向右走應取決於向左走能取得最大值 ...