c++求最大子数组

# include
#include
#include
using namespace std;
int find_max_crossong_subarray(int* A, const int low, const int mid, const int high);
int main() {
    int A[] = { 13,-3,-25,20,-3,-16,-23,18,20,-7,12,-5,-22,15,-4,7 };
    int a, b, c;
    a = find_max_crossong_subarray(A, 0, 8, 16);
    
    cout << "a=" <

}
int  find_max_crossong_subarray(int *A, const int low, const int mid, const int high) {
    int sum_left = INT_MIN;
    int sum = 0;
    int max_left=0, max_right=0;
    for (int i = mid; i > 0; i--) {
        sum = sum + A[i];
        if (sum > sum_left) {
            sum_left = sum;
            max_left = i;
        }
    }
    int sum_right = INT_MIN;
    sum = 0;
    for (int j = mid+1; j 0; j++) {
        sum = sum + A[j];
        if (sum > sum_right) {
            sum_right = sum;
            max_right = j;
        }
    }
    return (max_left);

}

你可能感兴趣的:(c++求最大子数组)