All postsSliding Window PatternAugust 9, 202619 min readsliding-windowpatternSolve any sliding window patternIndex1. What Is a Sliding Window?2. How Do You Recognize a Sliding Window Problem?Question 1: Is the input linear?Question 2: Are we dealing with contiguous elements?Question 3: Is the problem asking something about that range?Question 4: Can the window be maintained efficiently?3. The Sliding Window Map4. Pattern #1 — Fixed-Size WindowExample: Maximum Sum of Size KCodeComplexity5. Fixed Window Does Not Mean Fixed State6. Pattern #2 — Variable-Size Window7. Variable Window — LongestTemplate8. Example — Longest Substring With K Unique Characters9. Example — Longest Substring Without Repeating Characters10. Example — Pick Toys11. Variable Window — ShortestTemplate12. Example — Minimum Window Substring13. The Most Important Rule: Longest vs ShortestLongestShortest14. Pattern #3 — At Most K15. Pattern #4 — Exactly K16. A Generic At-Most-K Template17. Pattern #5 — Monotonic DequeThe IdeaRules18. Maximum vs Minimum19. What State Should You Maintain?Running SumFrequency MapSetQueue / DequeMonotonic Deque20. When Sliding Window Fails21. Negative Numbers and Sum Problems22. Why Positive Numbers Make Sliding Window Easier23. Sliding Window vs Two PointersSliding WindowTwo Pointers24. Sliding Window vs Prefix SumConsider Sliding Window when:Consider Prefix Sum when:25. The Four Core TemplatesFixed WindowLongest Variable WindowShortest Variable WindowAt Most K26. The Sliding Window Decision Tree27. Sliding Window Cheat Sheet28. A Nine-Problem Learning Path29. What You Actually Need to Memorize30. The Final Mental ModelFinal TakeawayRelatedGraph Pattern45 min readgraphpatternDynamic Programming Pattern39 min readpatterndynamic programming