Sliding Window Programming
Last updated
arr = [2, 1, 5, 1, 3, 2], k = 39int maxSum = Integer.MIN_VALUE;
for (int i = 0; i <= arr.length - k; i++) {
int sum = 0;
for (int j = i; j < i + k; j++) {
sum += arr[j]; // Add each element in the window
}
maxSum = Math.max(maxSum, sum);
}
System.out.println(maxSum);int maxSum = 0;
int windowSum = 0;
// Step 1: Calculate sum of first window
for (int i = 0; i < k; i++) {
windowSum += arr[i];
}
maxSum = windowSum;
// Step 2: Slide the window
for (int i = k; i < arr.length; i++) {
windowSum += arr[i] - arr[i - k]; // Add new, remove old
maxSum = Math.max(maxSum, windowSum);
}
System.out.println(maxSum);