鸡蛋掉落谜题的 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 程序。


相关文章