- Codeforces
The main platform for contests, problem-solving, and community discussions.
Features: Contests, problemset, blogs, virtual participation.
Best for: Practicing timed contests, learning problem patterns, and improving rating.
- AtCoder
Japanese platform with clear, beginner-friendly problems.
Features: ABC (Beginner), ARC (Regular), AGC (Grand) contests.
Best for: Beginners and stepwise improvement.
- CSES Problem Set
Organized problem sets by topic (sorting, searching, dynamic programming, graphs).
Best for: Structured learning and step-by-step skill building.
- LeetCode
Huge database of problems, often tagged by difficulty and topic.
Best for: Learning basic algorithms and data structures, also preparing for interviews.
- CodeChef
Indian platform with Long Challenges (10-day), Cook-Offs, and Lunchtimes.
Best for: Practicing both long and short contests, beginner-friendly problems.
- HackerRank
Tutorials and problems categorized by data structures, algorithms, and mathematics.
Best for: Absolute beginners who want guided practice with learning explanations.
- TopCoder
One of the oldest competitive programming platforms.
Features: SRM contests, marathon matches, tutorials.
Best for: Advanced algorithmic challenges after basics.
- SPOJ
Huge archive of classical algorithm problems.
Best for: Practicing individual problems at your own pace.
- USACO Training Gateway
Focuses on algorithmic problem-solving for beginners and intermediate coders.
Best for: Learning recursion, DP, and graph problems in a structured way.
- HackerEarth
Tutorials and practice problems categorized by difficulty and topic.
Best for: Beginners to intermediate coders and timed contests.



