365+ Days of Leetcode

August 2nd, 2025

Motivation

Leetcoding has always felt like one of those unwritten rules in computer science, something everyone just quietly agrees you have to do. It’s treated almost like a rite of passage: solve enough problems, magically have the ability to pass any interview, and get some job that pays ludicrious amounts of money.

I used to believe that too. I watched the videos, read the posts, and felt like if I wasn’t grinding out nearly 5+ hards each day I was somehow falling behind. Actually, one of the main reasons I started this streak was after watching my roommates Eric Tao and Terry Su compete in leetcode competitions every saturday night. I (wrongly) assumed that if I just matched their dedication, the offers would fall into place.

Now, after nearly 500 days of solving problems, I’ve realized something: Leetcoding is a lot more nuanced. Even with all that practice, I still run into interview problems I can’t solve. Sometimes I do solve them optimally and still don’t move forward.

At the end of the day, interviews are a mix of preparation and luck. Yes, try your best. Yes, study the patterns. But your value as a software engineer has very little to do with how many Leetcode problems you’ve solved.

With that said, I don’t regret the time I spent on it. Leetcoding regularly has given me confidence as I enter each interview which I think is much more important than “being the best”. Now when I sit down for interviews I’m not panicking or second-guessing my steps. The mental composure and trust within my reasoning has made the biggest difference than any pattern or trick in Leetcode ever could.

A years worth of Leetcode

Takeways

After all this Leetcoding, there are a couple of tips that worked for me and helped me grow. Everyone learns differently, so these may not transfer over directly, but hopefully, they can still be of some help.

Leetcode Premium

I think one of the biggest factors in my success was paying for LeetCode Premium. Spending that much money on the platform really motivated me to get the most out of every dollar. I know this isn’t feasible for everyone, but if it’s within reach, consider it an investment in your career. If you land a well-paying job, the cost of a year’s worth of practice will feel negligible. Plus, having access to company-specific question banks is incredibly helpful.

Neetcode 150

While this advice has been echoed many times, I genuinely believe the NeetCode 150 is the best resource for beginners to learn the foundational problem-solving patterns. If you’re just starting out, go through this list and take thorough notes, or verbally explain each problem in depth. This process gives you a great litmus test to identify your strengths and weaknesses. Be honest with yourself about where you stand, and use that awareness to guide your focus going forward.

Prioritization

Some patterns are more important than others and tend to appear more frequently on assessments. While there isn’t necessarily a strong emphasis across the board, there is some suggested guidance to study topics like Bit Manipulation and Dynamic Programming. In practice, though, not every company asks about these, some even explicitly avoid them. It’s still worth learning them, but you’ll get more mileage by focusing on core fundamentals like heaps, binary search, stacks, arrays, and other frequently tested patterns.

Approach

  1. Read the problem and try to mentally construct a solution within 5–10 minutes.
    • If I’m unable to visualize how the components interact, it’s unlikely that more time will yield better results.
    • Note: this does not need to be the most optimal solution, just something that works in theory.
    • If I can’t find a working approach, I’ll watch a video explaining the high-level logic.
  2. Spend around 10–15 minutes implementing and debugging the solution.
    • If you’re passing a good portion of test cases, that’s a strong sign you’re on the right track.
    • Always write down edge cases and why your approach missed them, they often resurface in similar forms across other problems.
    • If your code isn’t optimal, that’s okay. Investigate where redundant work may be happening or where unnecessary steps can be eliminated.
  3. If you are truly unable to understand or solve a problem, avoid just looking at the answer. Read into the high level logic and mark the problem for a revisit 1 or 2 weeks down the line.

Collaboration

Working with other people in real time has been incredibly helpful for learning how to Leetcode well.

  • If you’re working with other Computer Science students try to work independently for a while and then reconvene. Otherwise you risk influencing each others’ thoughts. Avoid going straight to the answer but have someone explain in detail how they went from the problem to their solution iteratively.
  • If you’re working with non Computer Science students (my preferred setting), you can explain your thinking in real time. They’ll likely have little experience with your CS lingo and so will raise questions on aspects you may have believed to be general knowledge. It’s really useful as it teaches you how to verbally create visuals to describe your thinking.

Working on the daily. Problem 3011
The daily problem, 3011 put up on a whiteboard for a collaborative session.

The Daily Problem

Once you’ve completed Neetcode 150 and feel as if you’re worked on your weak subjects enough you can start doing the daily problem. Overall I don’t find this nearly as rewarding as the Neetcode 150 selection; however, that isn’t to say that the problems aren’t important. You’ll likely encounter very niche and less broadly applicable problems but it’s a new perspective nonetheless.

Outcome

Like mentioned before, I’ve gained a lot of confidence in my abilities as an interview taker. More importantly, by using my approach alongside a good amount of collaboration has also made me well versed in speaking to interviewers. I recieved a good set of offers this recruiting year and, with my resume growing, I think I’ll likely have more opportunities in the future.

I also am close to getting a Leetcode T-shirt which I’ll post when I earn the Leetcoins for the kit 🙂