Why I Struggled With LeetCode
How my unstructured approach to LeetCode made technical interviews hard
The Problem
During college I struggled immensely to solve easy LeetCode problems, and at the time I didn’t know why. Sometimes the problems would make sense, but when it came to the coding part, my test cases failed since I overlooked all of the edge cases. I would jump from one random problem to the next, trying to devise a unique solution out of nowhere only to rage quit 15 minutes in.
The way I approached problems was unstructured. I didn’t master the fundamental algorithms like how to implement a binary search or create a recursive function. Instead I chose whatever problem I felt like doing that day, and would often fail miserably because I didn’t know what to do. I needed to implement a new strategy to get better at solving coding problems.
The Solution
I decided to start from the beginning and master the basics which I thought I already knew, but really didn’t. In mathematics for example, you can’t excel in calculus unless you mastered algebra, and you can’t excel in algebra unless you mastered basic arithmetic. NeetCodeIO explains this analogy further in his video here, where I got the inspiration to write this! Even though I’m still grappling with LeetCode, my study sessions have been more efficient because I spend time mastering common technical interview patterns and learning from failed attempts.
Once I get a handle on a data structure or algorithm, I try to attempt problems in that area that give me resistance but are not far out of reach. I do this so I don’t get bored repeating the same types of problems, and to hold myself accountable for the rigor that is coding interviews. If I can’t solve the problem in 35 minutes, I spend the last 15 minutes looking at a solution and discovering where I got stuck. With these new tools I can attack similar problems until mastery, then move on when I feel comfortable.
Summary
To summarize, the basics of coding need to be learned, revisited, and eventually mastered before moving onto the next hard thing. Pattern recognition will become easier, and more time can be spent deciphering the nuances of a coding problem. Every studying approach is unique and this may not work for everyone — this is just what works for me :)


The rage quit story is all too common! Congrats on mastering the easy LC questions -- that's not an easy feat.