public static int findMaxSum(int [] a){
int maxSum=0;
int thisSum=0;
for(int i=0,j=0;j<a.length;j++){
thisSum+=a[j];
if(maxSum<thisSum){
maxSum=thisSum;
seqStart=i;
seqEnd=j;
}
else if(thisSum<0){
i=j+1;
thisSum=0;
}
}
return maxSum;
}
本文介绍了一个用于查找整数数组中最大连续子序列和的算法。通过遍历数组并跟踪当前子序列的和,算法能够在O(n)时间内找到最大和。此过程涉及在遇到负和时重置子序列和,并更新最大和记录。
1万+

被折叠的 条评论
为什么被折叠?



