算法导论第四章习题答案(第三版) Introduction to Algorithm
Exercises
int Max_Subarray(int A[]){ int max=0; for(int i=0;i<=n;i++) for(int j=i;j<=n;j++) if((A[j]-A[i])>max) max=A[j]-A[i]; return max; }
4.1-3
int Max_Subarray(int A[]){ int max = 0,sum = 0; for(int i=1;i<=length;i++){ sum = sum + A[i]; if( sum > max ) max = sum; else if( sum < 0 ) sum = 0; } if (max > 0) return max; return NULL; }
如果子数组的累加和小于0,证明最大子数组一定不包含该子数组。