Fundamentals · Medium · Free
Solve maximum sum subarray of size k using sliding window.
FresherFundamentalsData Structures & Algorithms
Fixed-size sliding window
java
int maxSumK(int[] a, int k) {
int sum = 0;
for (int i = 0; i < k; i++) sum += a[i];
int best = sum;
for (int i = k; i < a.length; i++) {
sum += a[i] - a[i - k];
best = Math.max(best, sum);
}
return best;
}Slide window: add entering element, subtract leaving—O(n).
Variable window: expand right until invalid, shrink left.