Menu
CoddyTech

Rod Cutting Problem

中等动态规划python iconjava iconcpp iconc iconjs icon+10

你有一根长度为 n 的杆,其中 n = prices.length。长度为 k 的杆段售价为 prices[k-1]。你可以把杆切成任意数量的整数长度杆段,也可以整根出售。返回出售整根杆所能赚到的最多金额。

函数

cutRod(prices: integer-array) → integer
pricesinteger-array
prices[k-1] 是长度为 k 的一段木棒的价格;木棒长度为 prices.length。
返回值integer
整根杆子最多能赚到的钱

约束条件

  • 1 ≤ prices.length ≤ 1000
  • 1 ≤ prices[i] ≤ 105

示例

输入
prices = [2, 5, 7, 8]
输出
10
解释
两段长度为 2 的木棍可以卖 5 + 5 = 10。整根卖掉能赚 8,切成一段长度为 1 的和一段长度为 3 的木棍能赚 2 + 7 = 9。
challenge icon

进阶

如果最多可以切割木棒 m 次,那么每个表格项需要知道什么?

重置代码
def cutRod(prices):
    # 在这里编写代码

测试 #1

测试 #2

测试 #3

参数

prices = [2, 5, 7, 8]

预期输出

10