LeetCode grind (NeetCode 150)
Finally, it was time that I confronted LeetCode again, but this time I was better prepared, having just finished extensive data structures and algorithms (DSA) study for the first time in my life 💪. In particular, I followed this wonderfully curated list of 150 LeetCode problems, called NeetCode 150.
I would not dare to say I loved solving LeetCode problems even after learning DSA, but it was overall a good experience for me to review various algorithms and data structures I had just learned and to practice on actual implementations of said algorithms.
While working my way through NeetCode 150, I realized there were a couple of concepts I missed in my first DSA study—most notably, backtracking and dynamic programming. So I had to go back and study relevant chapters in the books—Skiena's book for backtracking and dynamic programming and CLRS for dynamic programming and greedy algorithms. Somehow Sedgewick's book and his lectures—which were my primary resources learning DSA—do not seem to include those subjects 🤷♂️.
I'm planing to go back and solve NeetCode 150 again at some point in the future to solidify (or to memorize?) my understanding on important data structures and algorithms.