The spaced repetition technique is all based on repeating the decks of cards until the knowledge is retained. I mean it makes more sense with 'lightweight' learning such as learning vocabulary in a new language, but how does it scale to reviewing algorithmic questions ? How is the schedule built with hundreds of questions to review ? Any help guys ? I'm using Anki btw. TC: None
I write the problem statement on one side of the flash card, and the pseudocode or core logic on the back side. Iāll cycle through these cards every few days. I use physical cards btw.
so you don't actually REWRITE the code for the solution with every review ?
Depends on my level of confidence with the problem. I use the flash cards just to make sure I remember the core logic for problems. If Iām feeling pretty confident about being able to implement the solution, then Iāll move on. If I feel like Iād have a hard time implementing the solution, then Iāll write it out on a whiteboard. This is my general study strategy. If I have an interview coming up, then Iāll try to implement as many problems as I possibly can.
I go back to previously solved LC problems and mark them with a star if Iām able to solve them quickly without any help.
how long is your repetition interval ?
Most problems I only do 1-2 times. Theres so many LC problems that use the same kind of solution that just by doing new problems regularly you are effectively getting repetition.
I created a bunch with cloze deletion. Delete lines from the solution and youāll need to type them in. Itās a bit time consuming to build, but trying to keep the selection updated - and trying to find a way to create the cards programmatically. How useful is spaced repetition as a whole - no idea. I have stopped complaining about LC culture, and trying to throw everything at it - letās see what sticks.
I used Anki too, it was pretty helpful. There are some trick questions (especially hard ones) that you can't come up with on your own so they're a good match. Otherwise basic algos like iterative toposort, union find, binary index trees, etc. Are also a good match. Questions that keep throwing you off are also a good match. The key is to not memorize the solution (except some adhoc cases maybe) but memorize the cues and approach which lead you to a solution. For example there are a lot of tree path problems, all of them have the same approach.
I read that repetition after 11 days would wire it in your brain. Not just coding problems but anything that you want to commit to memory. Then again review on 22nd day and so on until you are comfortable. Btw thanks for this post I badly need timed repetition of LC
some of the intervals I read are 2, 3, 7, 15, 30, 60, not sure if it works
I found Anki too tedious to maintain. Much easier to go to submitted LC section and redo/go over your previous solutions
but how about the repetition intervals which are what makes spaced repetition effective ?
They re inforce the already learned concepts. Thats it. If you revisit the solutions every week, it gets imprinted in yoir memory . In fact the more i see my earlier solutions the more instances i can find to speed things up. You learn a lot by that. Are yoi asking how long the interval should be ?