Skip to main content

Sliding Window Maximum

HardSliding Window

You are given an array of integers nums and a sliding window of size k that moves from left to right. Return an array of the maximum values in each window position.

Example:

Input: nums = [1,3,-1,-3,5,3,6,7], k = 3
Output: [3,3,5,5,6,7]
Explanation:
Window [1,3,-1] -> max 3
Window [3,-1,-3] -> max 3
Window [-1,-3,5] -> max 5
Window [-3,5,3] -> max 5
Window [5,3,6] -> max 6
Window [3,6,7] -> max 7

Constraints:

  • 1 <= nums.length <= 10^5
  • -10^4 <= nums[i] <= 10^4
  • 1 <= k <= nums.length