Sliding Window Algorithm | JAVA

Find maximum (or minimum) sum of a subarray of size k

Table of contents

No heading

No headings in the article.

public class SlidingWindow {
    public static void main(String[] args) {
        int[] arr = {2, -4, 8, 56, 98, 85, 25, 5};
        System.out.println(" Max sum of subarray = " 
                + MaximumSumofSubarray(arr, 4));
    }
    static int MaximumSumofSubarray(int[] arr, int k) {
        int windowSum = 0;
        int maxSum = Integer.MIN_VALUE;

        for (int i = 0; i < k; i++) {
            windowSum = windowSum + arr[i];
        }

        for (int i = k; i < arr.length; i++) {
            windowSum = windowSum - arr[i - k] + arr[i];
            maxSum = Math.max(maxSum, windowSum);
        }
        return maxSum;
    }
}