- LeetCode 78 – Subsets
The cleanest backtracking problem there is, with one structural difference worth spotting: every node of the recursion tree is an answer, not just the leaves, so the base case disappears. Plus the two bugs — i + 1 rather than start + 1, and the copy without which all 2^n entries alias one list.
- MongoDB – CRUD Operations
insertOne through deleteMany, upserts and bulk writes, and why an update should touch one field rather than rewrite a document.
- LeetCode 76 – Minimum Window Substring
The hardest sliding window on most lists, and the difficulty is not the window — it is knowing when it is valid without recounting. One integer does it, the counts are allowed to go negative because the sign carries the surplus, and t = "aa" is the case that separates working from nearly working.
- LeetCode 72 – Edit Distance
The two-dimensional DP problem — if you get one 2-D table fluent, make it this one. Why dp[i][j] must be defined over prefix lengths rather than indices, why the extra row and column remove every edge case, and how to work out which neighbour is the insert instead of guessing.
- MySQL – Storing Hierarchies with a Closure Table
Trees in a relational database. The adjacency list everyone starts with and the query that makes it painful, MySQL 8's recursive CTE which fixes most of that, and the closure table — one row per ancestor-descendant pair — which trades write cost and storage for subtree reads that are a single indexed lookup. When each one is the right answer, with the numbers.