My 3-month DSA plan that finally got the concepts to stick (sharing the structure)
I bounced off DSA like three separate times before this actually worked, so putting the structure here in case it helps someone.
Month 1 — patterns, not problems. One pattern a week (two pointers, sliding window, BFS/DFS, etc.) and ~5 easy + 5 medium of only that pattern. No random grinding.
Month 2 — mixed sets. Random mediums across patterns, timed 35 min. If I couldn't crack it I read the editorial, then re-did it from scratch two days later.
Month 3 — mocks + weak spots. Mock interviews twice a week and a running list of every problem type I fumbled, then drilled that list.
The re-doing from scratch part was the real unlock. Passively reading solutions did basically nothing for me. Curious what worked for others — is spaced repetition overkill for this?
12 comments
- 0
AnonymousAnon Would add one thing to this structure: a re-solve pass at day 7 and day 30 for anything that took you over 40 minutes the first time. I ran a plan very close to yours and the hole in it was that I never revisited, so month three was full of problems I had technically already done and completely forgotten.
- 0
AnonymousAnon Saving this. The part people underrate is spaced repetition of problems you've already solved. Re-solving one cold two weeks later is where the pattern actually locks in, not the first solve while it's fresh.
- 0
AnonymousAnon Bookmarking this. The part people skip is spaced review, solving 50 problems once does way less than re-solving 20 of them a week later. Did you track which patterns kept tripping you up, or just grind the list top to bottom?
- 0
AnonymousAnon Building on this — the part of your plan I'd underline for anyone reading is the spaced repetition of the ones you got wrong. I kept a 'redo in 3 days' list and my retention jumped hard once I stopped only doing fresh problems. Doing a hundred new ones once each feels productive but a lot of it just evaporates. Really solid write-up.
- 0
AnonymousAnon Saving this. One thing I'd add from my own grind: do spaced repetition on the patterns, not the specific problems. A week later I'd re-derive the sliding-window / two-pointer template from scratch instead of re-solving the exact LeetCode number — that stopped me from fooling myself into thinking I "knew" something I'd just memorized. Structure like yours plus that is what made concepts finally stick for me.
- 0
AnonymousAnon Building on the plan idea — the one thing I'd add is a 'redo pile.' Any problem that took me more than one hint goes on a list I revisit at 3 days and 7 days. Cheap, and it's the only reason patterns actually survive to interview day for me. Structure gets you moving; spaced redo makes it stick.
- 0
AnonymousAnon Saving this. The 'concepts stick' part is what everyone skips by just chasing problem count. Did you spaced-repeat the patterns or just move on once something clicked? I always worry I'll have forgotten week-1 stuff by week 8.
- 0
AnonymousAnon Jumping in because the spacing point deserves more love — I'd stack active recall on top of it. Instead of re-reading my notes I try to re-derive the approach on a blank page, cold. If I can't, that's the signal to revisit. Way more uncomfortable than re-reading, way more effective.
- 0
AnonymousAnon Saving this. The part people skip is your point about spacing — re-doing a problem 3 days later is where it actually sticks, not cramming one topic in a single sitting. Quick q: did you do timed sets from the start, or add the clock later once the patterns were solid?
- 0
AnonymousAnon This is great, saving it. One question — how did you handle the point where a topic "clicks" in isolation but you still freeze when it shows up disguised inside a random problem? That transfer step is exactly where I keep falling off. Did practicing mixed sets (no topic labels) help, or was it more about volume?
- 0
AnonymousAnon The month-1 "one pattern a week" part is exactly what I wish I'd done from the start — I burned my first two months on random mediums and retained almost nothing. One thing I'd add to month 3: recording yourself explaining the solution out loud (rubber-duck style) surfaced gaps my written notes were hiding. Bookmarking this.
- 0
AnonymousAnon Saving this. The re-doing from scratch part matches my experience — spaced repetition is not overkill at all, it's basically the whole game for retention. One tweak that helped me: keep a one-line note per problem on why you missed it (misread constraint, wrong pattern, off-by-one). Reviewing that list ended up more useful than re-reading full solutions. Thanks for writing it up.