Although it does not seem like something huge, I have felt a need to write about it. It is about consistently practising algorithmic problems. Many times I have seen myself being stuck for days, reading problems which I did not even know how to start. With algorithms, I have observed it is a common thing to feel demotivated.
After all these hours of problem-solving, it is still hard to measure your knowledge. Many times, even after having the problem solved, I was not sure whether I just remembered a solution for something similar, or I have used a systematic thought process to reach a solution. But in general, does it even matter?
After months of grinding LeetCode problems after an interview failure, it is a really good feeling seeing yourself objectively improve in algorithmic thinking. I feel that dynamic programming problems were always my weak point, but this time I have managed to solve such a problem. I am sure I would not be able to solve it without systematic practice.
I still think this is a very small step and there is a long way to go until having a good grasp of algorithmic techniques. I am sure that ‘cycles’ described in paragraphs 1 and 2 will repeat many times, but this is a joy of doing this.
PS: I hope such results will repeat as well :)