思路:動態規劃
定義陣列含義:dp(k,n)表示有k個雞蛋,n層樓,在最壞的情況下,最小的移動次數
邊界條件:只有乙個雞蛋,n次,有0層,返回0
選擇:遍歷從1到n層樓,選擇res=min(res,max(dp(k-1,i-1),dp(k,n-i)));
返回res
優化:分析:dp(k-1,i-1)是隨著遞增的函式,dp(k,n-i)是隨著i遞減的函式,
找min(max(dp(k-1,i),dp(n,n-i)));
方法:使用二分法找中間那個點,有可能是在left和right中間,有可能是等於left和right。結果定位到left和right兩個點,再比較兩個點的max(dp(k-1,left-1),dp(k,n-left))、max(dp(k-1,right-1),dp(k,n-right))哪乙個值最小取哪乙個
LeetCode 887 雞蛋掉落
你將獲得 k 個雞蛋,並可以使用一棟從 1 到 n 共有 n 層樓的建築。每個蛋的功能都是一樣的,如果乙個蛋碎了,你就不能再把它掉下去。你知道存在樓層 f 滿足 0 f n 任何從高於 f 的樓層落下的雞蛋都會碎,從 f 樓層或比它低的樓層落下的雞蛋都不會破。你的目標是確切地知道 f 的值是多少。無...
leetcode887 雞蛋掉落
你將獲得 k 個雞蛋,並可以使用一棟從 1 到 n 共有 n 層樓的建築。每個蛋的功能都是一樣的,如果乙個蛋碎了,你就不能再把它掉下去。你知道存在樓層 f 滿足 0 f n 任何從高於 f 的樓層落下的雞蛋都會碎,從 f 樓層或比它低的樓層落下的雞蛋都不會破。你的目標是確切地知道 f 的值是多少。無...
Leetcode 887 雞蛋掉落
你將獲得 k 個雞蛋,並可以使用一棟從 1 到 n 共有 n 層樓的建築。每個蛋的功能都是一樣的,如果乙個蛋碎了,你就不能再把它掉下去。你知道存在樓層 f 滿足 0 f n 任何從高於 f 的樓層落下的雞蛋都會碎,從 f 樓層或比它低的樓層落下的雞蛋都不會破。你的目標是確切地知道 f 的值是多少。無...