Milestone: 100 days of leetcode

Senior Backend Engineer
Search for a command to run...

Senior Backend Engineer
No comments yet. Be the first to comment.
As a senior AWS engineer, cloud security has always been at the forefront of my architectural decisions. Earning the AWS Certified Security – Specialty (SCS-C02) certification is a testament to my commitment to building secure, scalable, and resilien...
Install Redis cli $ brew install redis-cli General PING # Test connection, returns PONG AUTH <password> # Authenticate with password SELECT <db> # Switch to a specific database (default is 0) DBSIZE # Get total nu...

InfluxDB 3 client: influxctl influxctl is the official command-line tool for managing and interacting with InfluxDB 3 clusters. Think of it as your Swiss Army knife for database setup, bucket management, and query execution. This cheatsheet gives you...
Here is an extended and fully annotated version of the Linux Cheatsheet blog in Markdown, with: Brief descriptions for each command An Advanced Topics section covering cron, systemd, firewalld, SELinux, and more Linux Cheat sheet System Informat...

1 Year on LeetCode: Lessons, Struggles, and Growth Exactly one year ago, I made a commitment — to open LeetCode daily, without excuses, and start solving problems that once made me uncomfortable. What started as a casual attempt to improve my DSA ski...

Git Cheatsheet – The Ultimate Guide Whether you're just getting started with Git or you're a seasoned developer, having a handy cheatsheet saves time and avoids Googling the same commands over and over again. This guide is organized into Basic, Inter...

I just finished leetcode daily questions for 100 consecutive days (Almost. Used time travel tickets few times). Received my badge today.
Completing 100 LeetCode problems is a significant achievement for anyone looking to strengthen their coding skills. Whether you're preparing for a technical interview, enhancing your understanding of algorithms, or simply pushing yourself to grow as a programmer, reaching this milestone is no small feat. The process can be challenging, but the rewards—both in knowledge and confidence—are immense.
I have started and failed at least 5 time in last 2-3 years. I have purchased many paid courses, followed Youtube channels, took leetcode premium 2 times yet I was not able to do for more than a month. I used to get frustrated with every unsolved question and then eventually stop.
This time I took a different approach. I said to myself, only one question in a day. Use the question to learn, instead of solving. For the first month, I solved only few easy questions without looking at the solutions. But I didn’t just look at the solution, I tried to learn from it. Tried to do similar problems, sometimes I succeeded, sometimes I failed. But whenever I was successful, it gave me immense confidence and at the same time I did not get discouraged with the failures.

When you first start solving LeetCode problems, it can feel overwhelming. There are hundreds of problems ranging from "easy" to "hard," and the sheer volume of topics—arrays, linked lists, dynamic programming, graph algorithms, etc.—can make you feel like you’ll never master it all. But the key is not to focus on the number of problems left to solve, but on consistency and progress.
Many beginners start by tackling the "easy" problems. This is a great way to build confidence and understand how the platform works. LeetCode’s environment allows you to code in multiple programming languages, which is helpful for testing different approaches. As you move on to more complex problems, you’ll find that your understanding of core data structures like stacks, queues, and trees deepens.
One of the biggest lessons I’ve learned from completing 100 LeetCode problems is the importance of consistency. While it’s tempting to try to rush through problems to hit a certain number, the real value comes from solving problems thoughtfully. This often means solving one or two problems a day but doing so with full focus. Instead of moving on once I’ve gotten the solution, I take time to review my approach, analyze its efficiency, and look at alternative solutions.
LeetCode has a strong community of users, and after solving a problem, it’s worth reading through discussions and exploring other people’s solutions. You’ll often find new insights, whether it’s a more efficient algorithm, a clever use of a data structure, or a simpler approach than you had considered.

At first, some problems will seem impossible, especially when you start encountering medium and hard problems. It’s easy to feel discouraged when you can’t figure out a solution or when your code fails multiple test cases. But every challenge is an opportunity to learn. One of the most important things I’ve realized is that failure is part of the process.
In fact, struggling with a problem is what makes the eventual solution more rewarding. Every time you debug a problem, optimize a solution, or refactor your code, you’re reinforcing your understanding. I found that after the first 20 or so problems, the once unfamiliar concepts started to become clearer. Topics like dynamic programming, which initially seemed like a foreign language, became more intuitive.
Another significant takeaway from solving 100 problems is that my speed and problem-solving ability improved gradually but steadily. In the beginning, even easy problems could take an hour or more. But with practice, I learned to recognize patterns and common strategies. For instance, I could quickly identify when to use a sliding window, backtracking, or a depth-first search (DFS) approach based on the problem description.
Moreover, I became more adept at thinking about edge cases and optimizing solutions. Time and space complexity became second nature, and I started evaluating my solutions based on Big-O analysis without having to consciously think about it.
I created a github-repo to put the solutions and my notes. Initially I used a notebook and pen, but I think it’s better to preserve it digitally as it contains some decent insights. I plan to put all my future solutions and notes here and backfill the initial 100 solutions.
If you're starting out on LeetCode or are partway through your journey, my advice is simple: stay consistent and don’t be afraid to fail. The first 100 problems will test your patience, but they will also expand your problem-solving toolbox. Even if you can only dedicate 30 minutes a day to solving problems, that time will add up over weeks and months. Each problem you solve brings you one step closer to mastering the art of algorithms.
In the end, completing 100 LeetCode problems is not just about hitting a number. It’s a reflection of the progress you've made, the knowledge you've gained, and the resilience you’ve built along the way. The journey doesn’t stop here—there are always more problems to solve and more to learn—but reaching this milestone is a reminder of how far you’ve come. Keep pushing, keep learning, and enjoy the process!