Maximum Average Subarray I Visualizer & Step-by-Step Algorithm Solution

Find a contiguous subarray of length k that has the maximum average value using a fixed-size sliding window.

Category: sliding-window | Difficulty: Easy

Tags: Array, Sliding Window

Maximum Average Subarray I

Numbers Array (nums)
1
0
12
1
-5
2
-6
3
50
4
3
5
100%
state
k4
arrayLength6
Initialization
1/19
Explanation

Call findMaxAverage(nums = [1, 12, -5, -6, 50, 3], k = 4). Objective: find maximum average of any contiguous subarray of size 4.

Source Code
1function findMaxAverage(nums: number[], k: number): number {
2 let sum = 0;
3 for (let i = 0; i < k; i++) {
4 sum += nums[i];
5 }
6 let maxSum = sum;
7 let j = k;
8 while (j < nums.length) {
9 sum += nums[j];
10 sum -= nums[j - k];
11 maxSum = Math.max(maxSum, sum);
12 j++;
13 }
14 return maxSum / k;
15}