A curated resource guide for Competitive Programming & Interview Preparation
Competitive programming is solving well-defined problems by writing computer programs under specified limits.
| Platform | Best For |
|---|---|
| LeetCode | Interview prep (highly recommended) |
| CodeChef | Mixed difficulty problems |
- Codeforces
- AtCoder
- CSES Problem Set
- USACO
- Google Kickstart Archive
- Google Code Jam Archive
- Project Euler
- Timus OJ
- DMOJ
- Toph
- CS Academy
- UVa Online Judge
- SPOJ
- OJ.uz
- GeeksforGeeks
- cplusplus.com Tutorial
- CP-Algorithms (Advanced Topics)
- STL Table of Contents
- GeeksforGeeks – STL
- TopCoder STL Part 1
- TopCoder STL Part 2 – Advanced
- Vectors — ▶ Run Code
- Set — ▶ Run Code
- TopCoder – DP from Novice to Advanced
- DP Novice to Advanced (Mirror)
- CodeChef – DSA Prep (Foundation)
- Non-Trivial DP Tricks
- Everything About DP
- Digit DP 1
- Digit DP Solutions
- Digit DP for Product Digits
- Digit DP Tutorial (Bangla)
- Digit DP – HackerRank
- Digit DP Problem Solutions
- DP on Trees
- DP on Trees – Problem 3
- DP on Trees (CommonLounge)
- A Tricky DP Problem on Trees
- Bitmask DP
- SOS DP
- Sum Over Subsets – GFG
- Bitmask DP → SOS DP Buildup
- DP Over Subsets and Graph Paths
- Coin Problems
- Nice DP Problem Editorial
- Subsequence Length 3 Solution
- Smallest Word Problem Tutorial
- CodeChef DP Tutorials
- How to Start Solving DP Problems (Quora)
- Introduction to DP – HackerEarth
- A Brief Introduction to DP (PDF)
- DP Tutorials – VPlanet
- DP Strategy (Quora)
- DP Tutorial #1 – Errichto
- DP Tutorial #2 – Errichto
- DP Tutorial #3 – Errichto
- LeetCode DP – Errichto
- DP Playlist
- DP Playlist – gkcs
- DP Playlist 2
- DP Playlist 3
- DP Playlist 4
- DP Playlist 5
- DP Playlist 6
- DP Playlist 7
- AtCoder DP Contest Stream
- VPlanet DP Tutorials
- Algorithms Live
- AtCoder DP Contest
- Marathon DP Contest (cloned)
- VPlanet DP Contests
- A2OJ DP Problems
- DP for Beginners – LeetCode
- DP on Strings – LeetCode
- DP Max/Min – LeetCode
- DP Merging Intervals – LeetCode
- DP Distinct Ways – LeetCode
- Competitive Programmer's Handbook – Antti Laaksonen (Free PDF)
- Advanced Competitive Programming – 25 Books Collection
| Channel | Focus |
|---|---|
| Computerphile | CS concepts |
| Errichto | CP tutorials |
| Rachit Jain | CP & interviews |
| William Lin | CP |
| Kevin Naughton Jr. | LeetCode |
| mycodeschool | DS & Algorithms |
| Nick White | LeetCode solutions |
| SecondThread | CP (Java) |
| freeCodeCamp | Learn to code |

