leetcode 887 雞蛋掉落

2021-10-14 09:27:06 字數 1534 閱讀 2457

思路:動態規劃

定義陣列含義: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 的值是多少。無...