Airysh

Airysh

Engineer

Read Resume

100 Days of LeetCode: My Journey to Algorithmic Mastery

Solving algorithm problems every day for 100 days changed how I think about code.

The Challenge

I started the learnLeetCode repository with a simple goal: solve at least one LeetCode problem every day for 100 days. Now at Day 98, I can confidently say this has been one of the most transformative experiences in my programming journey.

What I Learned

1. Pattern Recognition

After solving hundreds of problems, you start seeing patterns everywhere:

2. Time Complexity Matters

When you're competing against test cases with 10^5 or 10^6 elements, every optimization counts. I learned to think in terms of:

3. Language Proficiency

I primarily use C++ and Python for competitive programming. Each has its strengths:

// C++ for raw performance
vector<int> nums(n);
sort(nums.begin(), nums.end());
# Python for rapid prototyping
nums.sort()
result = [x for x in nums if x > 0]

Favorite Problems

Some problems that really expanded my thinking:

  1. Trapping Rain Water II (Day 36) - Border heap BFS approach
  2. Burst Balloons (Day 37) - Interval DP mastery
  3. Minimum Window Substring (Day 18) - Classic sliding window
  4. Parallel Courses III (Day 21) - Topological sort with DP

Repository Structure

Each day has its own folder with:

The Mindset Shift

The biggest change wasn't technical—it was mental. I stopped fearing hard problems and started seeing them as puzzles to solve. Every "Hard" rating is just a combination of patterns you haven't recognized yet.

What's Next?

After 100 days, I plan to:


Check out the full repository: github.com/Airyshtoteles/learnLeetCode

The journey to 500+ commits and 98 days of consistent practice taught me that consistency beats intensity every time.

2026 — Airysh