例如:{6,-3,-2,7,-15,1,2,2}
,连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和,你会不会被他忽悠住?(子向量的长度至少是1)
通过动态规划计算最大和,$$f(i)$$ 定义为以第
public int FindGreatestSumOfSubArray(int[] array) {
if (array == null || array.length == 0) {
return 0;
}
int max = array[0];
int sum = 0;
for (int a : array) {
if (sum + a > a) {
sum += a;
} else {
sum = a;
}
if (sum > max) {
max = sum;
}
}
return max;
}