我们有一个数字列表(,肯定和否定都是可能的)。最大非细分总和
段被定义为连续的子序列的数字。例如,[1; -2; 3; 4; 5]是数组,它的一部分是[1; -2; 3]或[-2; 3; 4]等等。是连续的。
非段被定义为该数组的所有子序列,除了所有段。所以连续的数字是可能的在非段,但必须有至少两个不连续的数字。例如,[1; 3; 4]是一个非段,[1; -2; 3; 5]也是一个非段,因为3和5不是连续的(有'4'在他们之间的原始数组)。
问题是什么是最大总和的非细分市场?
注
- 数字可以是积极的结构和底片
- 这不是http://algorithmsbyme.wordpress.com/2012/07/29/amazon-interview-question-maximum-possible-sum-with-non-consecutive-numbers/或Maximum sum of non consecutive elements问题。在这些问题中,没有数字可以连续,所有数字都是正数。
这是本书Pearls of functional algorithm design问题11和它说是解决它线性方式。
但我不明白,也没有找到一个线性的方式。所以我在这里尝试我的运气。
我在你的回答之前就想出了那本书的出路。谢谢。此外,我认为这种功能性的方式是最好的想法,也将有助于强制性的方式。你读过那本书吗? –