我已经阅读了很多背包问题的变体,但我负责的版本有点不同,我不太明白如何解决它。Java中的递归背包
我有一个代表权重的整数数组(即{1,4,6,12,7,2}),并且只需要找到一个合计目标权重的解决方案。
我明白基本的算法,但我不明白如何实现它。
首先,我的基本情况是什么?数组是否为空?目标已经达到?目标已经超过了?或者也许有一些组合?
其次,当目标超出时,我该如何回溯并尝试下一个项目?
三,我应该返回什么?我应该回国吗(在这种情况下,我应该把它们打印出来吗?)?或者我返回数组,最终的回报是解决方案吗?
你说输出是一组**整数,但我只在你的示例代码中看到“int” – 2014-10-29 12:38:25
就问题而言,输出是一组整数。在解决方案(实现)方面,输出是'int []'。所以我并不是指'Set'意义上的一组整数。这个解决方案使用'Set '是一个好主意,但我认为数组会更简单。 –
YardGlassOfCode
2014-10-29 20:24:37