
									 Problem
								
								
									 Solution
								
								
									 Submissions
								
								
							Sliding Window Maximum using Deque
								Certification: Advanced Level
								Accuracy: 100%
								Submissions: 1
								Points: 15
							
							Write a Java program to find the maximum element in each sliding window of size k in an array. Given an array of integers nums and a window size k, return an array of maximum values for each window as it slides from left to right.
Example 1
- Input: nums = [1, 3, -1, -3, 5, 3, 6, 7], k = 3
 - Output: [3, 3, 5, 5, 6, 7]
 - Explanation: 
    
Step 1: The sliding window has size k = 3
Step 2: Window 1: [1, 3, -1] → max = 3
Step 3: Window 2: [3, -1, -3] → max = 3
Step 4: Window 3: [-1, -3, 5] → max = 5
Step 5: Window 4: [-3, 5, 3] → max = 5
Step 6: Window 5: [5, 3, 6] → max = 6
Step 7: Window 6: [3, 6, 7] → max = 7 
Example 2
- Input: nums = [1, -1], k = 1
 - Output: [1, -1]
 - Explanation: 
    
Step 1: The sliding window has size k = 1
Step 2: Window 1: [1] → max = 1
Step 3: Window 2: [-1] → max = -1 
Constraints
- 1 <= nums.length <= 10^5
 - -10^4 <= nums[i] <= 10^4
 - 1 <= k <= nums.length
 - Time Complexity: O(n) where n is the length of the array
 - Space Complexity: O(k)
 
Editorial
									
												
My Submissions
										All Solutions
									| Lang | Status | Date | Code | 
|---|---|---|---|
| You do not have any submissions for this problem. | |||
| User | Lang | Status | Date | Code | 
|---|---|---|---|---|
| No submissions found. | ||||
Solution Hints
- Use a deque (double-ended queue) to maintain potential maximum elements.
 - Keep the deque in decreasing order of values.
 - The front of the deque will always contain the maximum element of the current window.
 - When sliding the window, remove elements from the front if they are outside the window.
 - Before adding a new element, remove elements from the back that are smaller than the new element.
 - This ensures that the deque is always in decreasing order and contains only elements from the current window.