- LeetCode 81 – Search in Rotated Sorted Array II
Problem 33 with duplicates, which looks like a one-line change and is not. Two arrays with the pivot in different halves can present identical evidence at every point the algorithm may look, so no decision is right for both. The worst case is O(n) — and that bound is on the problem, not on your approach.
- 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.