forked from TheAlgorithms/JavaScript
- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMaxSumSubarrayFixed.js
More file actions
Latest commit
26 lines (26 loc) · 777 Bytes
/
Copy pathMaxSumSubarrayFixed.js
File metadata and controls
26 lines (26 loc) · 777 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**
* Function to find the maximum sum of a subarray of fixed size k.
*
* @param {number[]} arr - The input array of numbers.
* @param {number} k - The fixed size of the subarray.
* @returns {number} - The maximum sum of any subarray of size k.
* @throws {RangeError} - If k is larger than the array length or less than 1.
*/
exportfunctionmaxSumSubarrayFixed(arr,k){
if(k>arr.length||k<1){
thrownewRangeError(
'Subarray size k must be between 1 and the length of the array'
)
}
letmaxSum=0
letwindowSum=0
for(leti=0;i<k;i++){
windowSum+=arr[i]
}
maxSum=windowSum
for(leti=k;i<arr.length;i++){
windowSum+=arr[i]-arr[i-k]
maxSum=Math.max(maxSum,windowSum)
}
returnmaxSum
}