I Did Leetcode Everyday for 40 Days

Since I was 12 years old, I’ve been driven by a desire for growth and improvement. This drive has taken me from mastering Spanish in high school to tackling calculus in college despite being told it was beyond my capabilities. The latest chapter in my journey of self-improvement has been an intense 40-day challenge with Leetcode, a platform for practicing data structures and algorithms.

The Leetcode Challenge: An Overview

For the past 40 days, I dedicated every possible moment to solving problems on Leetcode. This period was not only fun but also stressful and incredibly challenging. I embarked on this journey for two main reasons: to fill a void of not having a current challenge and to improve my programming skills, which also carries potential financial benefits.

Observations from My Leetcode Journey

  • Dreaming in Code: I found myself dreaming about problems and solutions, indicating how deeply I was immersed in the process.
  • Pattern Recognition: My ability to recognize patterns in problems has significantly improved. “Hard” problems on Leetcode no longer seem insurmountable; instead, they appear as combinations of three to five recognizable patterns.
  • Python Proficiency: My familiarity with Python and its libraries has deepened, aiding in writing cleaner and more concise code.
  • Complexity and Bug Reduction: Understanding code complexity and learning common patterns have been crucial. For instance, using a “directions” array simplifies the process of navigating arrays in multiple directions, reducing both complexity and potential bugs.

Growth and Reflections

This experience has not only made me more proficient in coding but also more creative and confident in problem-solving. Looking back at my code from before the challenge, I see clear areas of improvement and unnecessary complexities that I now know how to avoid.

Despite the progress, I realize there is still much to learn. Currently, I believe I’m at the 50th percentile among users on Leetcode, which is commendable but not where I want to be. The top 1% of solvers can find solutions in as little as five minutes, and that’s a level of proficiency I aspire to reach.

Looking Forward

As I continue on this path, I aim to solve between 50 to 100 more problems by the 90-day mark, hoping to refine my problem-solving skills further and master even more patterns.

This journey has been a testament to the power of persistence and continuous learning. Here’s to another chapter of growth and pushing my limits in the world of programming and beyond.