# Sliding Window Maximum LeetCode Solution

Here, We see Sliding Window Maximum LeetCode Solution. This Leetcode problem is done in many programming languages like C++, Java, JavaScript, Python, etc. with different approaches.

# List of all LeetCode Solution

## Problem Statement

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.

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

Example 2:
Input: nums = [1], k = 1
Output: [1]

## Sliding Window Maximum LeetCode SolutionC++

``````class Solution {
public:
vector<int> maxSlidingWindow(vector<int>& nums, int k) {
vector<int> result;
if (k == 0) return result;
multiset<int> w;
for (int i = 0, n = (int)nums.size(); i < n; i++) {
if (i >= k)
w.erase(w.find(nums[i-k]));
w.insert(nums[i]);
if (i >= k-1)
result.push_back(*w.rbegin());
}
return result;
}
};```Code language: HTML, XML (xml)```

## Sliding Window Maximum LeetCode SolutionJava

``````class Solution {
public int[] maxSlidingWindow(int[] nums, int k) {
if (nums == null || k <= 0) {
return new int[0];
}
int n = nums.length;
int[] r = new int[n-k+1];
int ri = 0;
Deque<Integer> q = new ArrayDeque<>();
for (int i = 0; i < nums.length; i++) {
while (!q.isEmpty() && q.peek() < i - k + 1) {
q.poll();
}
while (!q.isEmpty() && nums[q.peekLast()] < nums[i]) {
q.pollLast();
}
q.offer(i);
if (i >= k - 1) {
r[ri++] = nums[q.peek()];
}
}
return r;
}
}```Code language: PHP (php)```

## Sliding Window Maximum LeetCode SolutionJavaScript

``````var maxSlidingWindow = function(nums, k) {
const q = [];
const res = [];
for (let i = 0; i < nums.length; i++) {
while (q && nums[q[q.length - 1]] <= nums[i]) {
q.pop();
}
q.push(i);
if (q[0] === i - k) {
q.shift();
}
if (i >= k - 1) {
res.push(nums[q[0]]);
}
}
return res;
};```Code language: JavaScript (javascript)```

## Sliding Window Maximum SolutionPython

``````class Solution(object):
def maxSlidingWindow(self, nums, k):
d = collections.deque()
out = []
for i, n in enumerate(nums):
while d and nums[d[-1]] < n:
d.pop()
d += i,
if d[0] == i - k:
d.popleft()
if i >= k - 1:
out += nums[d[0]],
return out ```Code language: HTML, XML (xml)```
Scroll to Top