经典算法篇
求子数组最大和
public class findMaxSubArySum1 {
public static void main(String[] args) {
findMaxSubArySum1();
}
public static void findMaxSubArySum1() {
int[] num = new int[] { 1, -2, 3, 10, -4, 7, 2, -5 };
int len = num.length;
int curSum = 0;
int maxSum = 0;
StringBuilder sb=new StringBuilder();
for (int i = 0; i < len; i++) {
curSum += num[i];
if (curSum < 0) {
curSum = 0;
} else if (curSum > maxSum) {
maxSum = curSum;
}
}
if (maxSum == 0) {
maxSum = num[0];
for (int i = 1; i < len; i++) {
if (maxSum < num[i]) {
maxSum = num[i];
}
}
}
System.out.println(maxSum+" "+sb);
}
}