/*
动态规划:
dp[n] = max(dp[n-1]+array[i],0);
*/
int FindGreatestSumOfSubArray(int* array, int arrayLen ) {
int n1 = array[0]>0?array[0]:0;
int max = array[0];
for(int i = 1; i < arrayLen; i++){
int temp = n1+array[i];
//先存储max,防止max为负数的情况。
max = temp>max?temp:max;
n1 = temp>0?temp:0;
}
return max;
}

京公网安备 11010502036488号