DEV Community

Abhirup Kumar Bhowmick
Abhirup Kumar Bhowmick

Posted on

My Experience with Solving DSA Problems on Leetcode.

Mastering the Art of Problem Solving on Leetcode

Hello everybody, my name is Abhirup Kumar Bhowmick. This is my first blog. I recently finished my second year of college and am currently in my pre-final year, so I thought I’d share some of my past experiences. I’ll be sharing how I started solving questions on Leetcode.

How it all started?

Let’s start with my first semester in college. I was already familiar with Java programming, having studied it from Class 9 to Class 12. Variables, loops, if statements, single and multi-dimensional arrays, stacks, and queues were all familiar to me. But I was curious as what questions were asked in job interviews. So I went to YouTube and searched for “Roadmap for a Second Year Student for Placemnet.” I learned that DSA (Data Structures And Algorithms) is a critical subject that is questioned in the technical interviews and that C++ and Java are the most frequent languages used by product-based companies. After knowing that C++ is faster than Java increased my curiosity in learning it. But now I know that good problem-solving skills are a necessity regardless of whether you choose C++ or Java.

I therefore began learning C++ on YouTube. And because my foundation was strong, I found it simple to master the fundamentals of C++. But after studying C++, I didn’t begin to practise DSA questions until almost the end of my second year. Up until almost the end of my second year, I continued to learn web and Android development. I’ve made several fantastic projects with it, which I’ll share later. I began really pursuing DSA around the middle of March 2023. I started to solve the DSA sheet seriously that had 450+ problems from Leetcode. I set a goal for myself to solve 5 problems every day. I tried to be consistent at all times. I would solve five questions some days, but other days I would only solve two or three. But each day I would have solved at least one Leetcode question.

First, I went over all of the fundamental concepts, including as arrays, loops, basic recursion, sorting and searching. Sorting problems seemed too easy to me at first, but as I proceeded to increasingly harder topics, I understood this was only the beginning. So, Leetcode contains three categories of problems: easy, medium, and hard. Most simple problems can be solved swiftly, while medium and hard problems are difficult to solve.

I used to understand a concept first, then solve problems based on it. For instance, I would first understand the fundamentals of stacks and queues before attempting to tackle problems using them. I wasn’t always able tosolve every problem at once. Most of the time, I would just try to understand the situation and correctly apply the data structure. But it wasn’t always successful. I would spent maximum 15 to 20 minutes on a problem then I would see the solution provided on Leetcode. I could code independently if I were able to understand the approach. If not, I will watch a video solution to the problem to help me understand it better before continuing to code on my own. Once every one to two weeks, I used to review the concepts that were challenging or that I couldn’t seem to understand at once. I felt demotivated when I couldn’t figure out a problem on my own, but I refused to give up.

I have covered a wide range of DSA topics in this manner, including arrays, strings, sorting, searching, recursion, backtracking, stacks and queues, linked lists, trees, graphs and dynamic programming. I haven’t touched Tries yet. I’m currently revising the concepts I covered earlier. After finishing my revision in the upcoming three to four weeks, I intend to start learning graph data structure.

Conclusion

I have already solved 450+ questions on Leetcode. If you look at my Leetcode profile, you can see that I maintained consistency in the months of April and May. I had my semester examinations in June from 1 through 15. But I began studying for the semesters after resolving at least 1 problem every single day. I don’t always feel like solving problems everyday, and there are times when being stuck on the same problem for more than an hour without finding a solution feel really aggravating. Any Software Engineer who wishes to work in an MNC must learn DSA. I hope to ace DSA and also start my Competitive coding journey on Leetcode. After all, as a tier 3 college student, you must fulfil your desire on your own; there are many resources available, but the work must be done solely by you.

So, this is my experience of solving questions from Leetcode. This is my very first blog. I hope you found this information interesting. Please share it and leave a comment below to let me know what you enjoyed and how I can improve my future blogs.

Top comments (0)