I Was Practicing LeetCode the Wrong Way
I was just memorizing solutions instead of deeply understanding the underlying patterns then I forgot everything after just a few weeks...
I used to approach LeetCode incorrectly. I strictly followed popular curated lists like the Blind 75 and NeetCode 150 because I heard many companies use these problems to test candidates.
However, I made a common mistake: I focused on solving as many problems as possible. After a long period of “grinding,” I realized I was just memorizing solutions instead of deeply understanding the underlying patterns. Consequently, I forgot everything after just a few weeks. When I tried to revisit those problems, I struggled to solve them again.
This experience taught me that I needed a different approach. Instead of rushing, I now focus on mastering one pattern at a time, understanding the pattern. My goal is to become confident enough to solve any problem within a specific pattern.
In the past, when I got stuck, I would spend hours debugging in my local IDE and printing logs. It was time-consuming and frustrating. After watching various YouTube tutorials, learning from others’ experiences, and practicing on my own, I’ve adopted these core lessons:
Start with the WHY? Define a strong 'Why' to stay motivated during the grind.
Start small to build momentum (1 easy problem/ day, then increase after)
Recognize patterns instead of trying to reinvent algorithms from scratch.
Always identify the underlying pattern before writing a single line of code.
Focus on mastery: Stay with one pattern until you truly understand it. Switching between patterns in the beginning is not a good idea.
Consistency is key: Don’t take long breaks; keep the habit alive. Daily practice is my goal.
Eliminate distractions: Create a dedicated space and time for LeetCode.
Now, with AI support, the process is much smoother. I use AI to review my code, identify bugs, and provide clear explanations on how to improve. This has significantly accelerated my progress and made the learning experience much less stressful.
My New Optimized Workflow:
Analyze: Understand the problem constraints.
Identify: Recognize the underlying pattern.
Implement: Code the solution.
Review: Use AI for code optimization and feedback.
Analyze Complexity: Evaluate Time and Space complexity.
Document: Take notes of key takeaways.
I stopped chasing the number of problems I solved.
Once I started chasing understanding instead, everything changed.


