I've posted many complete resource guides recently - covering patterns, variations, and tons of problems for each topic. They're great for learning from scratch or extensive practice, but if your interview is already scheduled, covering 50-70 problems per topic just isn't realistic.
That's why I'm creating focused problem lists for each topic, just 10-25 essential problems that cover the complete breadth of what you need.
Starting today with DP: 25 carefully selected problems covering every major DP pattern for interviews. If you're interviewing at Google or other DSA-heavy companies, you might need extra practice, but for most tech interviews, this list is a solid foundation.
1. Climbing Stairs - LeetCode 70
2. House Robber - LeetCode 198
3. House Robber II - LeetCode 213
4. Decode Ways - LeetCode 91
5. Jump Game II - LeetCode 45
6. Unique Paths - LeetCode 62
7. Minimum Path Sum - LeetCode 64
8. Longest Common Subsequence - LeetCode 1143
9. Edit Distance - LeetCode 72
10. Partition Equal Subset Sum - LeetCode 416
11. Target Sum - LeetCode 494
12. Coin Change - LeetCode 322
13. Coin Change II - LeetCode 518
14. Ones and Zeroes - LeetCode 474
15. Longest Increasing Subsequence - LeetCode 300
16. Longest Palindromic Substring - LeetCode 5
17. Palindromic Substrings - LeetCode 647
18. Word Break - LeetCode 139
19. Best Time to Buy and Sell Stock - LeetCode 121
20. Best Time to Buy and Sell Stock II - LeetCode 122
21. Best Time to Buy and Sell Stock with Cooldown - LeetCode 309
22. Best Time to Buy and Sell Stock IV - LeetCode 188
23. Unique Paths II - LeetCode 63
24. Triangle - LeetCode 120
25. Palindrome Partitioning II - LeetCode 132
Quality over quantity. 25 deeply understood problems > 100 half-understood problems.
Focus on patterns. When you solve problem 10 (Partition Equal Subset Sum), you're not learning one problem. You're learning the subset sum pattern that appears in dozens of problems.
Code, don't read. Reading solutions feels productive but doesn't work. You need to actually code these.
Time yourself. In interviews, you'll have 30-40 minutes. Practice under time pressure.
Revise. Solve each problem twice - once now, once 3 days later.
Check out my posts which may help you in your preparation :
These 25 problems are your DP foundation. Master them, and DP becomes one of your strengths instead of a weakness.
Now stop reading. Open problem 1. Start coding.
Good luck! 🚀