鸡蛋掉落谜题的 Python 程序
pythonserver side programmingprogramming
在本文中,我们将了解下面给出的问题陈述的解决方案。
问题陈述− 假设我们想知道在 40 层楼的哪些楼层可以安全地扔下鸡蛋,哪些楼层会导致鸡蛋在落地时因鸡蛋的帮助而受损。我们需要显示最少数量的路径来检查这些楼层。
现在让我们观察下面实现中的解决方案 −
示例
# 动态规划 INT_MAX = 32767 # 获得最少的试验次数 def eggDrop(n, k): # 初始化 eggFloor = [[0 for x in range(k + 1)] for x in range(n + 1)] # 基本情况 for i in range(1, n + 1): eggFloor[i][1] = 1 eggFloor[i][0] = 0 # 我们总是需要 j 次试验 for j in range(1, k + 1): eggFloor[1][j] = j # 填充其余条目 for i in range(2, n + 1): for x in range(1, j + 1): res = 1 + max(eggFloor[i-1][x-1], eggFloor[i][j-x]) if res < eggFloor[i][j]: res = 1 + max(eggFloor[i-1][x-1], eggFloor[i][j-x]) 如果 res < eggFloor[i][j]: eggFloor[i][j] = res return eggFloor[n][k] # main n = 4 k = 40 print("在最坏情况下," + str(n) + " 个鸡蛋和 "+ str(k) + " 个地板的最小试验次数为 " + str(eggDrop(n, k)))
输出
在最坏情况下,4 个鸡蛋和 40 个地板的最小试验次数为 6
所有变量均在局部范围内声明,其引用如图所示以上。
结论
在本文中,我们了解了如何制作一个用于鸡蛋掉落拼图的 Python 程序。