Python 程序用于切割一根钢筋


在本文中,我们将了解以下所述问题陈述的解决方案。

问题陈述 − 我们得到一根长度为 n 的钢筋和一个价格数组,其中包含所有小于 n 的尺寸的部件价格。我们需要确定通过切割钢筋并销售其部件获得的最大价值。

我们将采用动态编程方法来解决问题。

现在让我们观察一下以下实现中的解决方案−

示例

 实时演示

# A Dynamic Programming solution for Rod cutting problem
INT_MIN = -32767
# cut function
def cutRod(price, n):
   val = [0 for x in range(n + 1)]
   val[0] = 0
   # bottom up manner
   for i in range(1, n + 1):
      max_val = INT_MIN
      for j in range(i):
         max_val = max(max_val, price[j] + val[i-j-1])
      val[i] = max_val
   return val[n]
# main
arr = [2, 4, 7, 9, 11, 16, 16, 21]
size = len(arr)
print("Maximum Obtainable Value is " + str(cutRod(arr, size)))

输出

Maximum Obtainable Value is 21

所有变量都声明在局部作用域中,并且上图中可见其引用。

结论

在本文中,我们已经了解了如何制作切割钢筋的 Python 程序。

更新于:20-12-2019

754 浏览量

开启您的职业生涯

完成课程后即可获得认证

开始学习
广告
© . All rights reserved.