Sliding Window Maximum

HardArraySliding Window

Description

You are given an array of integers nums, there is a sliding window of size k which is moving from the very left of the array to the very right. You can only see the k numbers in the window. Each time the sliding window moves right by one position. Return the max sliding window.

Examples

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

Windows [1,3,-1],[3,-1,-3],[-1,-3,5],[-3,5,3],[5,3,6],[3,6,7] yield maxes [3,3,5,5,6,7].

Input:nums = [1], k = 1
Output:[1]
Explanation:

With window size 1, each element is its own maximum, so output equals input.

Input:nums = [1,-1], k = 1
Output:[1,-1]
Explanation:

Window size 1 means each element is reported as-is: max([1])=1, max([-1])=-1.

Constraints

  • 1 ≤ nums.length ≤ 10⁵
  • -10⁴ ≤ nums[i] ≤ 10⁴
  • 1 ≤ k ≤ nums.length

Ready to solve this problem?

Practice solo and sharpen your skills for technical interviews.