题干
{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和
思路
- 将所遍历到的值加入到一个临时变量中。
- 与max进行比较先,取出较大值。
- 将sum与0进行比较判断所加上的值是否是大于零的,大于留下表示对于后面的序列还是有用,小于零时不予以保留,重新归零进行计算。
- 相似题目:给定二叉树,求取二叉树序列中和最大值。
代码
public class Solution {
public int FindGreatestSumOfSubArray(int[] array) {
int max=Integer.MIN_VALUE,sum=0;
for(int i=0;i<array.length;i++)
{
sum+=array[i];
max=Math.max(sum,max);
sum=Math.max(sum,0);
}
return max;
}
}