求数组的子数组之和的最大值
int MaxSum(int* arr,int n){
int start = arr[n-1];
int all = arr[n-1];
for(int i=n-2;i>=0;i--){
start = max(arr[i],start+arr[i]);
all = max(start,all);
}
return all;
}
int MaxSum(int* arr,int n){
int start = arr[n-1];
int all = arr[n-1];
for(int i=n-2;i>=0;i--){
if(start <0)
start =0;
start += arr[i];
if(start > all)
all = start;
}
return all;
}