Visualized DSA Strategies
Episode 5 Sliding Window
▶ This video is coming to YouTube soon.
The complete guide to the sliding window. First the theory: what a window is, fixed vs variable windows, the template behind every sliding window problem, and why a while loop inside a for loop is still O(n). Then nine types of window, each worked as a small problem in full: examples, the brute force animated beside the running line of code, the complete code, every line explained, and the sliding window solution the same way.
What you'll learn
- What a window is, and fixed vs variable windows
- The fixed and variable window templates, line by line
- Why each number entering once and leaving once makes it O(n)
- Fixed windows: a running sum and a running count
- Variable windows: the longest that obeys a rule, with a sum or a set
- The shortest window: shrink while it's still valid
- At most k kinds with a map, and counting every valid window
- Exactly k = at most k − at most k−1
- The window maximum with a monotonic deque
Chapters
- 0:00Intro
- 0:17What's a window?
- 0:44Fixed vs variable windows
- 1:11The fixed window template
- 2:11The variable window template
- 3:03Why it's O(n)
- 3:31What the window remembers
- 4:16Nine kinds of window
- 4:58Type 1 · Best sum of k in a row
- 11:11Type 2 · Most vowels in k letters
- 17:10Type 3 · Longest run with sum ≤ k
- 22:58Type 4 · Longest run with no repeated number
- 28:48Type 5 · Shortest run with sum ≥ target
- 34:45Type 6 · Longest run with at most 2 different numbers
- 40:51Type 7 · How many runs have sum ≤ k?
- 46:59Type 8 · Runs with exactly 2 odd numbers
- 53:04Type 9 · Max of every window of size k
- 59:14Spot the pattern
- 59:47Quiz: which window?
- 1:00:25Recap
Quiz: test yourself
The 4 questions from the end of the episode. Pick an answer to see why it's right.