Learning path

Coding

DSA patterns — template then drill

  1. Coding interview roadmap A clear map of DSA patterns for interviews — what to learn, in what order, and which Lattice posts to open for templates.
  2. Arrays & hash maps When to use hash maps, frequency counting, Two Sum family, prefix+hash, and the sort vs map tradeoff — with Python and Java templates.
  3. Strings Palindromes, expand-around-center, reverse words, common prefix, and encode/decode — with Python and Java templates.
  4. Two pointers & sliding windows When each pattern applies, how the window moves, and worked traces for pair-sum and longest substring — more explanation than a bare template.
  5. Binary search Why binary search works, the invariant you must say out loud, lower_bound templates, and search-on-answer with a full shipping-capacity walkthrough.
  6. Stacks, monotonic stacks & heaps Parentheses and path stacks, next-greater monotonic stacks, and heap patterns (kth, merge-k, running median) — with plain-language explanation before templates.
  7. Linked list patterns Dummy nodes, reverse, fast/slow pointers, merge, and cycle detection — the list toolkit for interviews — with plain-language explanation before templates.
  8. Trees & BSTs DFS/BFS on trees, path problems, and BST invariants — with recursion patterns interviewers expect — with plain-language explanation before templates.
  9. Graphs: BFS, topo & shortest paths How to model nodes/edges, BFS layer traces, Kahn topological sort with a dry run, and when Dijkstra beats BFS.
  10. Union-Find (DSU) Disjoint set union template with path compression — provinces, redundant edges, valid tree, accounts merge.
  11. Intervals & greedy Merge intervals, meeting rooms, sweep lines, and greedy picks — plus when greedy lies — with plain-language explanation before templates.
  12. Backtracking Choose → explore → undo. Subsets, combinations, permutations, N-Queens, and pruning tips — with plain-language explanation before templates.
  13. Dynamic programming State, transition, and base cases in plain language — with house-robber and knapsack traces so DP stops feeling like magic.
  14. Bit manipulation XOR cancels, popcount, missing number, and subset masks — interview bit toolkit with Python and Java.
  15. Prefix sums, tries & matrices Range sums and subarray-sum maps, trie prefix matching, and grid habits (bounds, visited, directions) — with plain-language explanation before templates.
  16. Hub — binary search, stacks & heaps This topic split into focused guides — jump to binary search or stacks & heaps.
  17. Hub — backtracking & DP Split into two deep dives — backtracking and dynamic programming.

Lattice