My Experience with Solving DSA Problems on Leetcode.

Abhirup Kumar Bhowmick - Dec 19 '23 - - Dev Community

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.

. . . . . . . .