Solving algorithm problems every day for 100 days changed how I think about code.
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.
After solving hundreds of problems, you start seeing patterns everywhere:
When you're competing against test cases with 10^5 or 10^6 elements, every optimization counts. I learned to think in terms of:
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]
Some problems that really expanded my thinking:
Each day has its own folder with:
main.cpp - C++ solutionmain.py - Python solution (when applicable)README.md - Problem explanation and complexity analysisThe 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.
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.