2026-06-01 18:12:40 +08:00
#+ANKI_DECK : study_deck_02
2026-06-01 17:12:10 +08:00
* TODO 0239. Sliding Window Maximum :hard:
2026-06-01 02:33:30 +08:00
:PROPERTIES:
2026-06-01 17:22:07 +08:00
:NEETCODE: [[file:../../roadmap.org::*0239. Sliding Window Maximum][0239. Sliding Window Maximum]]
2026-06-01 02:33:30 +08:00
:END:
2026-06-01 17:22:07 +08:00
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:*
#+begin_ src
Input: nums = [1,3,-1,-3,5,3,6,7], k = 3
Output: [3,3,5,5,6,7]
Explanation:
Window position Max
--------------- -----
[1 3 -1] -3 5 3 6 7 3
1 [3 -1 -3] 5 3 6 7 3
1 3 [-1 -3 5] 3 6 7 5
1 3 -1 [-3 5 3] 6 7 5
1 3 -1 -3 [5 3 6] 7 6
1 3 -1 -3 5 [3 6 7] 7
#+end_src
*Example 2:*
#+begin_ src
Input: nums = [1], k = 1
Output: [1]
#+end_src
*Constraints:*
- ~1 <= nums.length <= 10^{5}~
- ~-10^{4} <= nums[i] <= 10^{4}~
- ~1 <= k <= nums.length~
2026-06-01 02:39:53 +08:00
** TODO Approach
Write your approach here.
** TODO Python
#+begin_src python
2026-06-01 17:22:07 +08:00
class Solution :
def maxSlidingWindow ( self , nums : List [ int ] , k : int ) - > List [ int ] :
2026-06-01 02:39:53 +08:00
#+end_src
** TODO C++
2026-06-01 02:33:30 +08:00
#+begin_src cpp
2026-06-01 17:22:07 +08:00
class Solution {
public :
vector < int > maxSlidingWindow ( vector < int > & nums , int k ) {
}
} ;
2026-06-01 02:33:30 +08:00
#+end_src