Arrays through Binary Search
Learn — five patterns, in order: trade memory for time (hashing); a sorted array lets you discard half the space (two pointers); a window that only grows right and shrinks left is O(n); "nearest thing to my left" is always a stack; binary search the answer, not just the array.
Do — problems 1–31, two or three a day, timed. 25 minutes on a Medium, then stop.
Check — before writing code you can state the pattern name and the invariant; you state complexity before running and you are right; you re-solve from scratch at day 7 and day 30.
Ship — a public repo, one file per problem, each with a three-line comment: pattern, invariant, complexity. Those comments are your revision notes.
The 25-minute rule. Past 25 minutes stuck you are not learning, you are suffering. Read the solution, close it, re-derive it from memory the same day. The re-derivation is the learning.