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.