Learning path
Coding
DSA patterns — template then drill
- 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.
- 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.
- Strings Palindromes, expand-around-center, reverse words, common prefix, and encode/decode — with Python and Java templates.
- 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.
- 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.
- 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.
- Linked list patterns Dummy nodes, reverse, fast/slow pointers, merge, and cycle detection — the list toolkit for interviews — with plain-language explanation before templates.
- Trees & BSTs DFS/BFS on trees, path problems, and BST invariants — with recursion patterns interviewers expect — with plain-language explanation before templates.
- 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.
- Union-Find (DSU) Disjoint set union template with path compression — provinces, redundant edges, valid tree, accounts merge.
- Intervals & greedy Merge intervals, meeting rooms, sweep lines, and greedy picks — plus when greedy lies — with plain-language explanation before templates.
- Backtracking Choose → explore → undo. Subsets, combinations, permutations, N-Queens, and pruning tips — with plain-language explanation before templates.
- Dynamic programming State, transition, and base cases in plain language — with house-robber and knapsack traces so DP stops feeling like magic.
- Bit manipulation XOR cancels, popcount, missing number, and subset masks — interview bit toolkit with Python and Java.
- 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.
- Hub — binary search, stacks & heaps This topic split into focused guides — jump to binary search or stacks & heaps.
- Hub — backtracking & DP Split into two deep dives — backtracking and dynamic programming.