1000 Problems Club
3336

I recently achieved my goal of solving 1000 leetcode problems. I got inspired to attempt this goal because I read a similar post ealier this year so I thought I would spread the love (brag)!

image

Why

Honestly I'm not looking for a new job. I'm currently employed as a software engineer for a not-well-known company, and I'm happy. I mainly wanted to replace wasting time watching tv etc with an interesting, stimulating hobby. Although the extrinisic desire to be a better software engineer and to be more competitive for prestigious companies also helped me be motivated. Also, I don't have a college degree related to computers, so it feels good to turn my weakness into a strength.

Strategy

My strategy was simple. No matter how exhausted I was and how much I didn't feel like it, I would do 1 problem every single day (possibly sorting by difficulty to find the easiest one). This simple requirement kept me from falling off the wagon during low periods. Some days you'll feel like a code god and other days you'll feel like you're worse than when you started, but all you can control is to consistently practice. A growth mindset is important.

Additionally I made a requirement that I would never look up answers or hints until I solved the problem. This was a personal requirement; it helped me stay focused but is probably not the optimal approach to learning. A more balanced strategy may be to only look up answers after you've invested 30min solving on your own and only submit answers you fully understand. But I do think placing some strict boundaries on yourself will give your accomplishment more meaning and thus will help you stay motivated.

This is something I didn't do well myself, but I recommend investing time reading through the discuss section and watching youtube videos that do alternate solutions. This is a great opportunity to grow. There have been many times where I learned some skill from the discuss section that would have been hard for me to figure out on my own. For example the rolling-hash technique for string problems or bitwise magic for brute-force problems.

Have I Improved?

Unfortunately I don't have objective data on how good I was at Leetcode when I started. I would say I had some basic skills but not great. I have definitely improved quite a bit. Now, I can almost always do mediums without much difficulty and can frequently do hards (I did 5 yesterday and 230 total). However hards are still hit or miss for me so they are my primary focus. I did some assessments Leetcode provides and according to them I'm very good with a score 9.58/10. Also I have done one contest so far and I scored 535/8300 and was able to do all the problems in 63min. Hopefully that gives you a flavor of what you can expect after doing 1000 problems :)

image

What I'm doing now

My goal has switched from doing a problem a day and doing 1000 problems to making it a consistent habit to do the contests. So I'm spending more time looking up answers to problems I never could solve and learning competitive programming techniques. But my main goal is to maintain a growth mindset and not focus on the outcome of each contest but rather the effort I put into the preparation. I recognize I don't have the talent to be a top competitor but that shouldn't stop me from being as good as I can be.

Comments (14)