Skip to content

rishabhshairy/DSA-450-Practice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

533 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Solving the SDE Sheet πŸ“‹

Welcome to the Solving SDE Sheet repository! This repository is dedicated to helping software engineers prepare for technical interviews by working through an extensive collection of problems from the SDE Sheet (Software Development Engineer).

Whether you're aiming for FAANG or just looking to sharpen your problem-solving skills, this repository will guide you step by step with well-documented solutions and explanations for each problem.


πŸ“š Table of Contents


πŸ“ Introduction

The SDE Sheet is a comprehensive list of coding problems designed to cover essential data structures and algorithms concepts. This repository will serve as a companion to help you navigate through the sheet, providing clear and concise solutions to each problem.

With detailed code, comments, and approaches for various solutions, you’ll gain a deeper understanding of problem-solving techniques used in top-tier coding interviews.


πŸ§‘β€πŸ’» SDE Sheet Overview

The SDE Sheet typically includes problems in the following categories:

  • Arrays
  • Strings
  • Linked Lists
  • Dynamic Programming
  • Graphs
  • Trees
  • Bit Manipulation
  • Maths
  • Stacks & Queues
  • Heaps
  • Greedy Algorithms

Each problem will include:

  • A clear problem statement.
  • Multiple approaches (if applicable).
  • Optimized solutions with time and space complexity analysis.
  • Explanations for better understanding.

πŸ“ Folder Structure

β”œβ”€β”€ Arrays
β”‚   β”œβ”€β”€ problem_name1.cpp
β”‚   β”œβ”€β”€ problem_name2.cpp
β”œβ”€β”€ Strings
β”‚   β”œβ”€β”€ problem_name1.py
β”‚   β”œβ”€β”€ problem_name2.py
β”œβ”€β”€ Dynamic_Programming
β”‚   β”œβ”€β”€ problem_name1.java
β”‚   β”œβ”€β”€ problem_name2.java
β”œβ”€β”€ Graphs
β”‚   β”œβ”€β”€ problem_name1.py
β”‚   β”œβ”€β”€ problem_name2.py
β”œβ”€β”€ ...
└── README.md
  • Each folder represents a topic covered in the SDE Sheet.
  • Files inside the folder correspond to individual problems, named after the problem with the appropriate extension for the programming language.

πŸš€ How to Use This Repository

  1. Clone the repository:

    git clone https://github.com/your-username/solving-sde-sheet.git
  2. Navigate to the desired folder (e.g., Arrays, Strings):

    cd solving-sde-sheet/Arrays
  3. Explore the solution files for each problem:

    cat problem_name.cpp
  4. Run the code:

    • For C++:
      g++ problem_name.cpp -o problem_name && ./problem_name
    • For Python:
      python3 problem_name.py
  5. Learn from the provided comments and explanations in the code.


🧠 Topics Covered

We cover the following key areas:

  • Arrays & Strings
  • Recursion & Backtracking
  • Dynamic Programming
  • Searching & Sorting
  • Trees & Graphs
  • Linked Lists
  • Heaps & Priority Queues
  • Greedy Algorithms
  • Stacks & Queues
  • Bit Manipulation
  • Number Theory
  • Two Pointers and Sliding Windows

🌟 Contributing

We welcome contributions! To contribute:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/YourFeature).
  3. Commit your changes (git commit -m 'Add some feature').
  4. Push to the branch (git push origin feature/YourFeature).
  5. Open a pull request.

Please make sure your code follows clean coding practices and is well-documented.


πŸ™Œ Acknowledgements

This repository would not have been possible without the numerous SDE Sheets and the hard work of many software engineers who compiled these problems. Special thanks to:


Happy coding! πŸŽ‰ If you find this repository helpful, please consider giving it a ⭐ and sharing it with others.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages