public class Solution {
public int FindGreatestSumOfSubArray(int[] array) {
if (array == null || array.length == 0) {
return 0;
}
int sum = 0;//前n个子数组最大和
int max = array[0];//记录最终结果,并初始化为第一个元素,避免在首个元素为负数时遗漏
for (int a : array) {
if (sum <= 0) {
sum = a;
} else {
sum += a;
}
max = Math.max(max, sum);
}
return max;
}
}