My LeetCode Journey: 200+ Problems and Counting
When I started solving problems on LeetCode, I had no idea how transformative it would be for my programming skills. What began as exam preparation turned into a daily habit that significantly improved my problem-solving abilities.
Why LeetCode?
As a Computer Engineering student, understanding Data Structures and Algorithms isn't optional—it's essential. LeetCode provided the perfect platform to:
- Practice different problem patterns
- Learn optimal solutions
- Prepare for technical interviews
- Track my progress over time
My Approach
1. Start with Easy Problems
I began with easy-level problems to build confidence. Understanding basic patterns in:
- Arrays and Strings
- Hash Tables
- Two Pointers technique
2. Move to Medium Complexity
Once comfortable, I tackled medium-level problems involving:
- Trees and Graphs
- Dynamic Programming
- Binary Search variations
- Recursion and Backtracking
3. Contest Participation
Participating in LeetCode contests taught me to:
- Think under time pressure
- Optimize solutions quickly
- Handle edge cases efficiently
Languages Used
I primarily solve problems in Java and JavaScript, sometimes using SQL for database problems. This multilingual approach helps me understand different language paradigms and their strengths.
Key Takeaways
- Consistency > Intensity: Solving 2-3 problems daily is better than marathon sessions
- Understand, Don't Memorize: Focus on patterns, not just solutions
- Multiple Solutions: Try to find both brute force and optimized approaches
- Learn from Others: Reading discussions after solving helps discover new techniques
Current Stats
- Problems Solved: 200+
- Topics Covered: Arrays, Hashing, Trees, Graphs, DP, Recursion
- Contest Participation: Regular biweekly contests
The Impact
LeetCode practice directly helped me during my internship interviews and while working on real-world projects. The logical thinking and optimization skills transfer directly to production code.
What's Next?
I'm currently focusing on:
- Advanced Dynamic Programming
- Graph algorithms
- System Design concepts
Check out my profile: leetcode.com/u/PushkarKirange