NeetCode 150 Progress Update
Introduction:
So earlier this year, I’d started undertaking the ‘NeetCode 150’ problem-set, quite simply because it covers a broad range of questions within a subset of technical problems.
This week’s blog post aims to serve as a progress update, reflecting on what went well? what hasn’t? as well as things that I’ve learnt along the way.
As always, before we get into this week’s blog post, please make sure to applaud, comment and share with your friends.
Happy Reading!
Quick Update:
58/150 completed.
Slowly on the road to completing all 150.
Delving Deeper:
So here, I’m going to break down my experiences to date.
Positives:
Solving 50+ problems!
Being able to get comfortable with the Two Pointer Approach; Sliding Window as well as working with Linked List’s.
Being able to complete some problems on my own.
Utilising Neetcode’s problem walkthrough videos when I eventually did get stuck. Some would say I should do these problems from memory however I believe this would limit my learning. I’ve still got a lot to learn when it comes to Data Structures and Algorithms (DSA) and these videos really do break down difficult problems into smaller steps.
Challenges:
Getting stuck on problems and not knowing what to do (Simple one).
Time! When there’s so many things I want to do, sometimes it gets hard finding the time to get them done.
Dynamic Programming (Enough said!).
Learning Experiences:
Depth first search (DfS) and Breadth First Search (BfS) are definitely an integral part of solving most problems.
Once you become aware of the main problem solving techniques, performance rarely seems to be an issue. I remember when I first started solving LeetCode problems, I would run into performance issues (Time/Memory limit exceeded) but this really hasn’t been a problem this time around.
There’s a huge amount of pattern recognition. I’ve already touched on Dfs and BfS but yes, there’s definitely similar patterns.
Conclusion:
Solving 50 problems is a good start however there’s still a long way to go.
I certainly want to get all of the problems solved. The most satisfying ones will be based around Graphs/Trees/Dynamic Programming as these are the areas that I find the most challenging.
Maybe one day I can look back on this blog post about how I used to be at 50 problems, before going on to solve them all!
Final Things:
As always, thank you for taking the time to read this article!
All my links are here!