A comprehensive collection of Data Structures and Algorithms problems to help you prepare for coding interviews and improve your problem-solving skills.
This repository is participating in Hacktoberfest 2025! 🎉
Hacktoberfest is a month-long celebration of open source software run by DigitalOcean. During the month of October, contributors are encouraged to make meaningful contributions to open source projects.
- Fork this repository
- Clone your forked repository
- Create a new branch for your contribution:
git checkout -b feature/your-feature-name - Add new problems or solve existing ones
- Commit your changes:
git commit -m 'Add: Brief description of your contribution' - Push to your branch:
git push origin feature/your-feature-name - Open a Pull Request with a clear description of your changes
- Follow the existing folder structure
- Include problem description, constraints, examples, and solution
- Use clear and descriptive commit messages
- Ensure your code is well-commented and readable
- Test your solutions before submitting
Problems/
├── Arrays/
├── Strings/
├── LinkedLists/
├── Trees/
├── Graphs/
├── DynamicProgramming/
├── Sorting/
├── Searching/
└── ...
Each problem folder contains:
README.md: Problem description, examples, and constraints- Solutions in various programming languages (e.g.,
solution.py,solution.java, etc.)
- Arrays and Strings
- Linked Lists
- Stacks and Queues
- Trees and Graphs
- Dynamic Programming
- Sorting and Searching Algorithms
- Greedy Algorithms
- Backtracking
- And more!
- Choose a topic you're interested in
- Pick a problem to solve or add a new one
- Implement your solution
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
We welcome contributions from everyone! Whether you're a beginner or an expert, there's always something to learn and share.
Happy coding! 💻