package www.viking.com.algorithm;
public class MaxSubSquenceSum {
/**
* @param args
*
* 最大字段和
*
* b为字段累加和
*
* b=b>0?b+a[i]:a[i]
*
* 并且记录最大的b
*
*/
public static void main(String[] args) {
int[] a = { -1, 3, -3, 4, 5, -2, 20 };
System.out.println(maxsum(a));
}
public static int maxsum(int[] a) {
int sum = a[0];
int b = 0;
for (int i = 0; i < a.length; i++) {
if (b > 0) {
b += a[i];
} else {
b = a[i];
}
if (b > sum) {
sum = b;
}
}
return sum;
}
}