一、最大子数组
定义:数组A的最大的连续非空子数组。
例如: A = {4,3,-1,-2,1} ,其最大子数组为 {4,3} ,最大值为7。
二、暴力求解,时间复杂度
遍历数组所有的子数组,得到其中最大的值。
由于子数组必须连续,所以所有的子数组有:
个。
以下为代码(C语言):
int FIND_MAXIMUN_SUBARRAY(int *a, int n) {
int max = -INT_MAX;
int sum = 0;
for (int i = 0; i < n; i++) {
for (int j = i; j < n; j++) {
/*sum为从i到j的所有值*/
sum += a[j];
if (sum > max) max = sum;
}
su