关于LeetCode887题:鸡蛋掉落的解法,我在LeetCode887题:鸡蛋掉落——动态规划法与数学法中已经讲得很清楚了,但其官方题解中有新的解法,本文将对其方法一和方法二进行解读。
首先定义变量和函数,玻璃球(鸡蛋)个数 N N N,查找楼层数 F F F,最大查找次数 T T T,当前查找楼层 X X X,当 N N N和 F F F确定时需要的最大查找次数 T T T( N N N, F F F)。
方法一利用了动态规划思想,状态转移方程如下:
T ( N , F ) = 1 + m i n 1 ≤ X ≤ F ( m a x ( T ( N − 1 , X − 1 ) , T ( N , F − X ) ) ) T(N,F)=1+\underset{1≤X≤F}{min}(max(T(N-1,X-1), T(N, F-X))) T(N,F)=1+1≤X≤Fmin(max(T(N−1,X−1),T(N,F−X)))
T ( 1 , F ) = F T(1,F)=F T(1,F)