Search
⌘K
Get Premium
Sliding Window
Maximum Sum of Subarrays of Size K
easy
Count: 10
DESCRIPTION
Given an array of integers nums and an integer k, find the maximum sum of any contiguous subarray of size k.
Example 1: Input:
nums = [2, 1, 5, 1, 3, 2] k = 3
Output:
9
Explanation: The subarray with the maximum sum is [5, 1, 3] with a sum of 9.
Explanation
This problem uses a fixed-size sliding window to efficiently find the maximum sum among all subarrays of length k. Instead of recalculating the sum for each subarray from scratch, we slide the window across the array and update the sum incrementally.
This approach is efficient because we calculate each window's sum in constant time by:
- Adding the new element entering the window (nums[end])
- Subtracting the old element leaving the window (nums[start])
Instead of summing k elements for each window (which would be O(n*k)), we do constant work per window, giving us O(n) time complexity.
Solution
Try these examples:
Visualization
Python
def max_subarray_sum(nums, k):max_sum = float('-inf')state = 0start = 0for end in range(len(nums)):state += nums[end]if end - start + 1 == k:max_sum = max(max_sum, state)state -= nums[start]start += 1return max_sum
start
max subarray sum of size k
0 / 16
Mark as read
Unlock Premium Coding Content
Reading Progress
On This Page
Your account is free and you can post anonymously if you choose.