Exercise 16: Find Maximum Subarray Sum (Kadane)

Problem Statement

Create a function `maxSubarraySum(arr)` that finds maximum subarray sum in array. Example: maxSubarraySum([-2, 1, -3, 4, -1, 2, 1, -5, 4]) → 6

Sample Output:

maxSubarraySum([-2, 1, -3, 4, -1, 2, 1, -5, 4]) => 6
maxSubarraySum([1, 2, 3]) => 6

Solution

const maxSubarraySum = (arr) => {
  let max = arr[0], current = arr[0];
  for (let i = 1; i < arr.length; i++) {
    current = Math.max(arr[i], current + arr[i]);
    max = Math.max(max, current);
  }
  return max;
};

Explanation

Overall Goal:

  • Maximum subarray sum find karna (Kadane algorithm).

Real world:

  • Stock trading: maximum profit.
  • Data analysis: best segment find.