
This lecture is an introduction to adaptive sliding windows.
This lecture explains the code and what the function does.
This lecture explains the logic for finding the longest String that meets the required criteria.
This lecture explains how to find the smallest window that meets a particular condition.
This lecture counts the subarrays that constitute a certain integer.
This lecture discusses a pattern where you have 2 pointers that are used to find numbers that are equal to one particular number.
This lecture explains using to pointers to find the the indices of elements in an array.
This lecture explains why 'var right' is set to a default value of '1'.
This lecture breaks down what a two-pointer pattern is.
This lecture explains using the two-pointer pattern to find the sum closest to the target.
This lecture walks through removing duplicates from an array. Moreover, it focuses and doing it efficiently.
This lecture explains removing an item from an array in-place.
This lecture discusses the efficient way to determine if a string is a palindrome.
This lecture explains how to reverse the order of the vowels in a string without messing up the other alpha numeric elements.
This lecture discusses and explains how to solve the challenge while maintaining the performance of the operation in place.
This lecture explains using 2 pointers to find matching substrings and remove them.
This lecture explains in-place merging of 2 different arrays.
If you've ever worked with the sliding window technique and felt like the "fixed-size" window explanations were just scratching the surface, you're not alone — and you're exactly who this course is for.
Beyond Fixed Windows: Adaptive Sliding Algorithms is the first comprehensive course to focus specifically on the inner mechanics of adaptive sliding windows and pointer manipulation in iterative structures. While most resources only teach the basic fixed-size window template, this course takes you deeper — exploring how dynamic, condition-driven windows work in real coding interviews and algorithm design.
What You'll Learn
The fundamentals of adaptive (dynamic-size) sliding window problems
How to manage window boundaries based on conditions (e.g. distinct elements, sum constraints, frequency maps)
Mastery of two-pointer approaches that don’t involve explicit windowing
Real-world patterns like:
Longest/Shortest subarray that meets a condition
Substring problems with at most or exactly K distinct elements
Minimum window problems (e.g. "smallest substring containing a pattern")
Counting and optimization strategies using prefix sums and hash maps
In-place operations and performance optimization techniques
Debugging adaptive window logic through visual walkthroughs and print tracing
How interviewers expect you to adapt base patterns to new constraints
Why This Course Is Unique
This is not a survey course that glosses over templates. Instead, you'll dive deeply into how adaptive windows actually work, why they break, how to fix them, and how to apply the logic to new problems. No other course provides such an intensive breakdown of pointer-driven loop behavior in the context of algorithmic problem solving.
By the end of the course, you won’t just recognize the patterns — you'll be able to build your own adaptive solutions from scratch with full control over correctness, efficiency, and clarity.