动态规划
dp[i] = dp[i - 1] + array[i] 或者dp[i] = array[i]
public class Solution {
public int FindGreatestSumOfSubArray(int[] array) {
if(array == null || array.length == 0) {
return 0;
}
int[] dp = new int[array.length];
dp[0] = array[0];
int max = dp[0];
for(int i = 1; i < array.length; i++) {
if(dp[i - 1] > 0) {
dp[i] = dp[i - 1] + array[i];
}else {
dp[i] = array[i];
}
if(max < dp[i]) {
max = dp[i];
}
}
return max;
}
}