查找数组的子集,得到最大总和

时间:2013-09-20 21:41:06

标签: algorithm

这是一个算法101问题:

给定N个元素的数组,为阵列的子集提供最大总和。 例如,如果我的数组是{1,-3,5,-2,9,-8,-6,4},那么答案应该是{5,-2,9}。

到目前为止,我有一个O(N ^ 2)解决方案:对于数组的每个索引i,如果所有j的索引(i,j),我计算子数组的总和。一世;跟踪相应最大值的最大值,下限指数和上限指数。然后我增加i并重复该过程直到我<数组的长度。

我想知道我能不能做得更好。我只是在寻找正确的方向。从我的数学背景来看,如果我可以跟踪导数和二阶导数,这可能会以某种方式提供线索,但是到目前为止,我有点困惑这个问题了一段时间。

0 个答案:

没有答案