其他分享
首页 > 其他分享> > LeetCode887 鸡蛋掉落

LeetCode887 鸡蛋掉落

作者:互联网

LeetCode887 鸡蛋掉落

考虑使用 \(k\) 个鸡蛋,计算进行 \(t\) 次操作可以测试的最高楼层数,记作 \(dp[t][k]\)

最小的 \(t\) 使得 \(dp[t][k] \ge n\) 即为最终答案

转移状态分鸡蛋碎了和没有碎

\(dp[t][k] = 1 + dp[t-1][k] + dp[t-1][k-1]\)

class Solution:
    def superEggDrop(self, k: int, n: int) -> int:

        if n == 1: return 1

        dp = [0] * (k + 1)
        for i in range(1, n + 1):
            for j in range(k, 0, -1):

                dp[j] = dp[j] + dp[j - 1] + 1
                if dp[j] >= n: return i
        
        return n

标签:return,int,鸡蛋,range,掉落,LeetCode887,dp
来源: https://www.cnblogs.com/solvit/p/16427584.html