A comprehensive, technique-wise collection of hand-picked DSA problems with explanations, code, and patterns. Ideal for coding interviews, CP, and mastering core concepts.
This repository is designed to help you master DSA topics by breaking them down into technique-based categories (Recursion, Backtracking, Greedy, DP, etc.). Each section contains:
✅ Key concepts
✅ Pattern-based problems
✅ Optimized solutions (Java, Python, C++)
✅ Visuals & explanation links
✅ Practice platforms like LeetCode, GFG, Codeforces
| Technique | Status | Language | Problems | Patterns |
|---|---|---|---|---|
| 🔁 Recursion | ✅ Done | Java | 20+ | Yes |
| 🔙 Backtracking | ✅ Done | Java | 15+ | Yes |
| 🧮 Dynamic Programming | 🔄 Ongoing | Java | 30+ | Yes |
| 💡 Greedy | ✅ Done | Java | 15+ | Yes |
| 🧱 Divide & Conquer | ✅ Done | Java | 10+ | Yes |
| 🌲 Tree/Graph | 🔄 Ongoing | Java | 25+ | Yes |
| 🧩 Bit Manipulation | ✅ Done | Java | 10+ | Yes |
| 🐍 Sliding Window | ✅ Done | Java | 12+ | Yes |
| 🧊 Two Pointers | ✅ Done | Java | 10+ | Yes |
DSA-Techniques/
├── Recursion/
│ ├── Factorial.java
│ ├── Fibonacci.java
│ └── SubsetSum.java
├── Backtracking/
│ ├── NQueens.java
│ ├── RatInMaze.java
├── DP/
│ ├── 0-1Knapsack.java
│ ├── LongestCommonSubsequence.java
├── Greedy/
│ ├── ActivitySelection.java
├── ...
└── README.md