Skip to content

Repository files navigation

Striver DSA-79 Solutions

Problems Languages Solutions

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.


Table of Contents


Overview

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/, and python/ folder convention
  • Interview-ready code — optimized solutions with problem statements and reference links in each file

Repository Structure

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:

  1. The full problem statement
  2. A link to the original problem source
  3. A clean, idiomatic implementation in the target language

Topics

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

Languages

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.


How to Use

  1. Browse by topic — navigate to the relevant folder (e.g., Graphs/, Dynamic Programming/).
  2. Pick a language — open the corresponding cpp/, java/, or python/ subdirectory.
  3. Read the problem — each file starts with the problem statement and an official link.
  4. 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.


Author

Aditya Kumar


If this repository helped with your preparation, consider giving it a star.

Releases

Packages

Contributors

Languages