import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param array int整型一维数组
* @return int整型
*/
// 连续子数组的最大和
// 思路:将当前连续子数组的和加上下一位元素,再与下一位元素比大小,进行判断
public int FindGreatestSumOfSubArray (int[] array) {
// write code here
if(array.length == 1) return array[0];
int max = array[0];
int[] dp = new int[array.length + 1];
dp[0] = array[0];
for(int i = 1; i < array.length; i++){
if(dp[i - 1] + array[i] <= array[i]){
dp[i] = array[i];
}else{
dp[i] = dp[i - 1] + array[i];
}
max = Math.max(max,dp[i]);
}
return max;
}
}