maxSubArraySum
maxSubarraySum([100,200,300,400], 2) // 700
maxSubarraySum([1,4,2,10,23,3,1,0,20], 4) // 39
maxSubarraySum([100,200,300,400], 2) // 700
maxSubarraySum([100,200,300,400], 2) // 700function maxSubarraySum(arr, num){
// Get your initial sum
let sum = 0;
for(let i = 0; i < num; i++){
sum += arr[i]
}
// Assign an initial maxSum based on the window above.
let maxSum = sum
// A secondary for loop, that starts at the `num` because we've already
// ran through the initial window. Now continue through the window
for(let j = num; j < arr.length; j++){
// update the sum,
sum += arr[j - num] - arr[j];
if(sum > maxSum){
maxSum = sum;
}
}
return isNaN(maxSum) ? null : maxSum;
}Last updated