【发布时间】:2018-03-26 10:05:26
【问题描述】:
给定一个带有n 楼梯的楼梯,每个楼梯都包含一个整数值,例如,
staircase = [11, 22, 44, 5, 12, 34, 55, 45, 23, 64]
并给定一组可能的楼梯步长,例如,
possible_steps = {3,4,5}
我想找到步骤的顺序,以最大化收集值的总和。一旦您踏上楼梯,就会收集一个值。
示例:
step_sequence 是 [3,4] ,值是 44+55 = 99
step_sequence 是 [4,4,4] ,值是 5+45+(out of index is 0) = 50
最好的step_sequence 是[3,4,4],它可以最大化收集到的值 (44+55+64 = 163)
问题:
如何使用动态规划来解决问题?或者是用动态规划解决问题的最好方法?
【问题讨论】:
-
我现在试了 5 分钟,但我无法理解这个问题。似乎你想在上楼梯时最大化收集到的价值。步骤是如何使用的?你有什么限制? “我们可以直接通过结束”是什么意思?
-
是的,问题是找到收集值的最大值,使用给定的步骤 [3,4,5] \n 抱歉“我们可以直接通过结束”。这意味着步骤不允许以最后一个楼梯结束。
-
我是否正确理解给定楼梯和台阶,您想找到最大化收集值的台阶顺序?从您的示例来看,似乎也允许重用步骤。
-
这是作业吗?你应该这样标记它。
-
到目前为止你尝试过什么?分享你的发现。
标签: algorithm dynamic-programming