摘要:
问题描述:问题的输入是具有n个整数的向量x,输出是输入向量的任何子向量中的最大和。例如下面的向量:31-415926-535897-93-2384那么改程序的输出就应该是59 到 97之间的总和,即187.但所有数为正数的时候,答案就是整个输入向量,可是我们必须要考虑负数的情况。问题解答:1、第一种方法式最简单的,对所有满足0 <= i <= j < n的(i,j)整数对进行迭代。找出总和最大的那个。这种方式的时间复杂度为O(n^3)。具体做法不在赘述。2、第二种方式是将时间复杂度降低到O(n^2),需要注意到x[i..j]的总和和前面已经计算出得总和x[i..j-1]有密切 阅读全文