具体讲解见 编程珠玑
这里只是一个简单的例子:
计算一个整形数组里的连续元素和的最大值
例:{9, -12, 120, 8, -20, 100, 30, -89, 20}
/**
* {9, -12, 120, 8, -20, 100, 30, -89, 20}
*
* @param target
*/
public static void calculate(int[] target) {
int tags = 0;
int max,i,j,m = 0,n = 0;
for(i=0;i<target.length;i++){
max = 0;
for(j=i;j<target.length;j++){
max += target[j];
if(max > tags){
m = i;
n = j;
tags = max;
}
}
}
System.out.println("max value is "+tags+" and from "+target[m] +" to "+target[n]);
}