数组中连续子数组的最大和
简要解析:
{2,-3,-4,9,15,12,-2,6}的连续子数组最大值为40。
(从9到6的连续子数组的和,为最大子数组和)
package com.zzh;
public class Main {
public static void main(String[] args) {
int[] array={2,-3,-4,9,15,12,-2,6};
int result=maxArray(array);
System.out.println("连续最大值为"+result);
}
public static int maxArray(int[] array){
int allArray=array[0];
int endArray=array[0];
for(int i=1;i<array.length;i++){
endArray=max(endArray+array[i],array[i]);
allArray=max(endArray,allArray);
//判断连续最大子数组。
}
return allArray;
}
public static int max(int a,int b){
return a>b?a:b;
}
}
注:本题还可以通过输出具体的子数组,使得结果更明了,具体方式不再赘述。