- LeetCode 62 – Unique Paths
The cleanest introduction to grid DP there is, and worth doing carefully because the next two problems are this one with a single detail changed. Deriving the recurrence from what was the last move, compressing the table to one row and why the sweep direction makes that work, and why the combinatorial closed form is a footnote.
- LeetCode 58 – Length of Last Word
A warm-up, and on the list because it is one — easy problems are where interviewers watch how you write rather than whether you can. split()[-1] is correct and allocates the whole string to read one word. Scan backwards instead: O(1) space, and end - i needs no plus one.
- LeetCode 57 – Insert Interval
The list arrives sorted and non-overlapping, and re-sorting it throws away the precondition the problem went out of its way to give you. Three sequential loops sharing one index and no if statements, why absorbing needs a min as well as a max, and why the binary-search refinement does not change the complexity.
- LeetCode 56 – Merge Intervals
The gateway to every interval problem, carried almost entirely by one decision: sort by start. Why that reduces overlap to a single comparison against the last output, why the merged end must be a max, why a[0] - b[0] as a comparator is a production bug, and when to sort by end instead.
- AWS – DynamoDB: Keys, Indexes and Access Patterns
DynamoDB rewards you for knowing your queries before you design your table, and punishes you for anything else. Partition key and sort key, why a scan is a bug, and the single-table pattern in the smallest example that shows why it exists. GSIs and LSIs and the difference that cannot be undone after creation, on-demand versus provisioned, and the hot partition that throttles a table that looks under quota.