一个整形数组中有正数也有负数,数组中连续一个或多个组成子数组,每个子数组都有一个和,求所有子数组中和的最大值
public static int findMax(int array[]) {
if (array.length==0) {
return 0;
}
int max=array[0];
int sum=0;
for(int i=0;i<array.length;i++) {
if(sum>=0) {
sum+=array[i];
}else {
sum=array[i];
}
if(sum>max) {
max=sum;
}
}
return max;
}