Often I found that after I had solved problem for 1 month or even 3 days, I became not capable of solving it again. I was suggested by some really good coders to code the same problem 3 times just to remember the template of an algorithm. But my struggle is often not about the template. It's more like "I have seen this before but how did I solve it?". May I ask if it's a good strategy to always solve a problem for 2-3 times? Because, if I don't spend time on the problems I have solved before, I could solve 15%-20% more problems within the same time.