UNPKG

dist-javascript-algorithms-and-data-structures

Version:

Algorithms and data-structures implemented on JavaScript

35 lines (29 loc) 931 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = bfMaximumSubarray; /** * Brute Force solution. * Complexity: O(n^2) * * @param {Number[]} inputArray * @return {Number[]} */ function bfMaximumSubarray(inputArray) { let maxSubarrayStartIndex = 0; let maxSubarrayLength = 0; let maxSubarraySum = null; for (let startIndex = 0; startIndex < inputArray.length; startIndex += 1) { let subarraySum = 0; for (let arrLength = 1; arrLength <= inputArray.length - startIndex; arrLength += 1) { subarraySum += inputArray[startIndex + (arrLength - 1)]; if (maxSubarraySum === null || subarraySum > maxSubarraySum) { maxSubarraySum = subarraySum; maxSubarrayStartIndex = startIndex; maxSubarrayLength = arrLength; } } } return inputArray.slice(maxSubarrayStartIndex, maxSubarrayStartIndex + maxSubarrayLength); }