← Back to all courses

Problem Solving Patterns

Learn common algorithmic patterns to tackle coding challenges effectively.

9 lessons

Lessons

  1. Two Pointers Technique

    Use two pointers to solve array problems efficiently.

  2. Sliding Window Pattern

    Use moving windows to optimize subarray and substring scans.

  3. Monotonic Stack Pattern

    Track next greater/smaller information in linear time.

  4. Binary Search Patterns

    Find exact values, boundaries, and answers on sorted spaces.

  5. Graph Traversal Patterns

    Model reachability with DFS, BFS, and topological sorting.

  6. Dynamic Programming Foundations

    Define state, transitions, and base cases before coding.

  7. Backtracking Patterns

    Explore decision trees with pruning and state rollback.

  8. Greedy Patterns

    Use locally optimal decisions when global correctness can be proven.

  9. Interval and Sweep Line Patterns

    Sort endpoints and process events in order.