15 essential coding patterns (sliding window, two pointers, BFS/DFS, dynamic programming) with Python and JavaScript solutions
This interactive reader gives you a comprehensive overview of Coding Patterns Quick Reference. In the full product you will find:
Software engineers preparing for coding interviews. Competitive programmers and anyone wanting to master algorithmic patterns.
The first two chapters of this guide are available free. Use the table of contents on the left to navigate. The remaining chapters are available in the full product.
Ready for the complete guide? Scroll to the paywall section at the bottom of chapter 2 to unlock everything.
| Chapter | Title | Description |
|---|---|---|
| 1 | Sliding Window & Two Pointers | Master the sliding window pattern for substring, subarray, and sequence problems. Two-pointer techniques for sorted arrays and linked lists. Python and JavaScript. |
| 2 | Dynamic Programming Patterns | Top-down vs bottom-up DP, memoization strategies, common DP patterns (0/1 knapsack, LCS, LIS, edit distance), and how to recognize DP problems. |
| 3+ | Full Product | All remaining chapters with complete content |
Master the sliding window pattern for substring, subarray, and sequence problems. Two-pointer techniques for sorted arrays and linked lists. Python and JavaScript.
This chapter provides an in-depth look at sliding window & two pointers. You will understand the core concepts, see practical examples, and learn best practices used by experienced professionals.
Let us start with the fundamentals. Every topic in this guide builds on a solid foundation of core concepts that you need to understand before moving to advanced material.
1. Understand the problem first — Before applying any solution, make sure you understand what you are trying to solve
2. Compare alternatives — Every approach has trade-offs. Know what you are giving up
3. Measure before optimizing — Data beats intuition. Always measure before making changes
# Every chapter includes practical, runnable code
# Here is a representative example of the patterns covered
def analyze_pattern(data):
"""Process data using best practices covered in this chapter."""
result = {}
for key, value in data.items():
# Apply the pattern
processed = transform(value)
result[key] = processed
return result
def transform(item):
"""Transform individual items using the techniques discussed."""
if isinstance(item, dict):
return {k: v for k, v in item.items() if v is not None}
return itemWhen working with the concepts in this chapter, keep these best practices in mind:
In this chapter, we covered the essential concepts of sliding window & two pointers. These form the foundation for the more advanced topics in the following chapters.
Get the full Coding Patterns Quick Reference and unlock everything.
Get the complete guide with every chapter unlocked, including code samples, diagrams, and best practices.
Access all interactive tools with complete data, all workload profiles, and the full scenario library.
Downloadable source code, configuration files, and working examples from every chapter.
Free updates for life. Every new chapter, tool, and improvement included.