A comprehensive, topic-organized solution repository for the Striver A2Z DSA Sheet (79 Last-Moment Problems). Each problem is implemented in C++, Java, and Python with a consistent structure designed for interview preparation and quick reference.
The Striver DSA-79 sheet covers the most frequently asked data structures and algorithms questions in technical interviews at product-based companies. This repository provides:
- Complete coverage — all 79 problems across 11 core topics
- Multi-language parity — identical problem sets in C++, Java, and Python
- Consistent layout — every topic follows the same
cpp/,java/, andpython/folder convention - Interview-ready code — optimized solutions with problem statements and reference links in each file
Solutions are grouped by topic. Within each topic, implementations are separated by language:
Striver-79/
│
├── Array and Hashing/
│ ├── cpp/
│ ├── java/
│ └── python/
│
├── Binary Search/
│ ├── cpp/
│ ├── java/
│ └── python/
│
├── Dynamic Programming/
├── Graphs/
├── Heaps/
├── Linked List/
├── Recursion and Backtracking/
├── Stacks and Queues/
├── Strings/
├── Trees (BT + BST)/
└── Tries/
Each solution file includes:
- The full problem statement
- A link to the original problem source
- A clean, idiomatic implementation in the target language
| Topic | Problems | C++ | Java | Python |
|---|---|---|---|---|
| Array and Hashing | 8 | 8 | 8 | 8 |
| Binary Search | 8 | 8 | 8 | 8 |
| Dynamic Programming | 12 | 12 | 12 | 12 |
| Graphs | 12 | 12 | 12 | 12 |
| Heaps | 3 | 3 | 3 | 3 |
| Linked List | 6 | 6 | 6 | 6 |
| Recursion and Backtracking | 6 | 6 | 6 | 6 |
| Stacks and Queues | 6 | 6 | 6 | 6 |
| Strings | 4 | 4 | 4 | 4 |
| Trees (BT + BST) | 11 | 11 | 11 | 11 |
| Tries | 3 | 3 | 3 | 3 |
| Total | 79 | 79 | 79 | 79 |
| Language | Folder | File Extension |
|---|---|---|
| C++ | cpp/ |
.cpp |
| Java | java/ |
.java |
| Python | python/ |
.py |
All three languages cover the same set of 79 problems, making it easy to compare approaches or study a solution in your preferred language.
- Browse by topic — navigate to the relevant folder (e.g.,
Graphs/,Dynamic Programming/). - Pick a language — open the corresponding
cpp/,java/, orpython/subdirectory. - Read the problem — each file starts with the problem statement and an official link.
- Study or run — compile or execute the solution locally as needed for practice.
Tip: When preparing for interviews, try solving a problem yourself first, then compare your approach with the implementation here across languages to deepen your understanding.
Aditya Kumar
- Email: adityakumarnhce@gmail.com
- LinkedIn: aditya-k-1b2679400
If this repository helped with your preparation, consider giving it a star.