diff --git a/src/test/java/com/thealgorithms/slidingwindow/Maximum Sum Subarray of Size K b/src/test/java/com/thealgorithms/slidingwindow/Maximum Sum Subarray of Size K new file mode 100644 index 000000000000..f9b12de7ea81 --- /dev/null +++ b/src/test/java/com/thealgorithms/slidingwindow/Maximum Sum Subarray of Size K @@ -0,0 +1,26 @@ +public class SlidingWindowExample { + public static int maxSumSubarray(int[] arr, int k) { + int maxSum = 0; + int windowSum = 0; + + // Compute sum of first window + for (int i = 0; i < k; i++) { + windowSum += arr[i]; + } + maxSum = windowSum; + + // Slide the window + for (int i = k; i < arr.length; i++) { + windowSum += arr[i] - arr[i - k]; // Add next element, remove first of the previous window + maxSum = Math.max(maxSum, windowSum); + } + + return maxSum; + } + + public static void main(String[] args) { + int[] arr = {2, 1, 5, 1, 3, 2}; + int k = 3; + System.out.println("Maximum sum of subarray of size " + k + " is: " + maxSumSubarray(arr, k)); + } +}