问题描述
|
这个问题已经在这里有了答案:
解决方法
鉴于您真正想要的是什么,我认为这是将模式转换为递归算法的设计模式的重复问题
,从0-1背包问题中的算法可以将所有内容放在i和w的表中。
制作一个两维表,其中填充了NO_VALUE常数(-1或类似的东西)。
然后,当您需要获取m [i,w]的值时,您会从表中找到所需的索引,检查其索引是否经过计算(与NO_VALUE进行比较),如果没有,则对其进行计算。
在这里,以空间为代价,您将获得更少的代码执行量,因为您永远不会两次计算相同的值。
编辑:
此外,您可以从那里继续找到模式,例如您总是使用一行或一条对角线,并剪掉表格中不需要的所有内容。