Max Contiguous Subarray :(

by rishul matta

JavaScript

function maxSubArray(A) {

    function combinedArr(arr, low, mid, high) {
        var leftSum = -99999;
         let   rightSum = -99999;
        var leftIndex = mid;
          let  rightIndex = mid;
        var sum = 0;
        for (i = mid; i >= 0; --i) {
            sum += arr[i];
            if (sum > leftSum) {
                leftIndex = i;
                leftSum = sum;
            }
        }
        sum = 0;
        for (i = mid + 1; i <= high; ++i) {
            sum += arr[i];
            if (sum > rightSum) {
                rightIndex = i;
                rightSum = sum;
            }
        }

        return {
            left: leftIndex,
            right: rightIndex,
            sum: leftSum + rightSum
        }
    }

    function minimum(arr, low, high) {
        debugger;
        if (low == high) {
            return {
                left: low,
                right: high,
                sum: arr[low]
            }
        }

        let mid = Math.floor((high + low) / 2);

        leftArr = minimum(arr, low, mid);
        rightArr = minimum(arr, mid + 1, high);
        combined = combinedArr(arr, low, mid, high);

        if (leftArr.sum > rightArr.sum && leftArr.sum > combined.sum) {
            return leftArr;
        }

        if (rightArr.sum > leftArr.sum && rightArr.sum > combined.sum) {
            return rightArr;
        }

        return combined;



    }
		obj = minimum(A, 0, A.length-1)
    return obj.sum;
}

maxSubArray([1, 2, 3])