import java.util.*;
public class Solution {
public int FindGreatestSumOfSubArray(int[] array) {
if(array.length == 0){
return 0;
}
int[] dp = new int[array.length]; //dp数组表示以array[i]结尾的连续子数组的最大和
Arrays.fill(dp,Integer.MIN_VALUE);
dp[0] = array[0];
for(int i = 1;i<array.length;i++){
dp[i] = Math.max(array[i],array[i]+dp[i-1]);
}
int res = Integer.MIN_VALUE;
for(int i:dp){
res = res>i?res:i;
}
return res;
}
}