I recently attempted a LeetCode Contest but I could not solve a problem. The reason I could not solve the problem is that even though I knew it was similar to a problem I had worked on previously, I did not know how to solve that previous problem.
Algorithmic problems are based on pattern recognition but that pattern recognition isn’t helpful if too much time has passed.
To increase my retention I am using this schedule https://www.quora.com/Whats-the-best-spaced-repetition-schedule. It is the Fibonacci numbers. I am using Gmail’s ability to snooze emails to the future to practice algorithmic problems that are helpful in solving many other problems.
I have been learning material by using a combination of repetition and my variation of The Feynman Technique.
My strategy is to repeat the material in chunks, i.e. section 1, then section 1 and 2, then sections 1 through 3, sections 1 through 4, etc.
I try to paraphrase every sentence. Sometimes it’s I just reverse the sentences, sometimes I change them into a question and answer, and sometimes I just use synonyms for a word or for multiple words in the sentence.
I think this has been working for me because of the sheer number of repetitions, but also because I am actively engaging with the material, and I am jamming the information into my working memory. Furthermore, I am exposing myself to the material in many different ways because I probably paraphrase things slight differently each time.
I think if I get comfortable with the earlier sections, I might start reviewing from the later sections. For instance, if there are 10 sections, I might review section 10, then section 9 through 10, then 8 through 10, etc.
I think I can certain material into long term memory by using flash card software. Also for things that just have to be memorized, I can create pictures, patterns, stories, rhymes, or use memory techniques such as The Link Method.