This repository is meant to serve as a practice ground for improving your proficiency in data structures and algorithms using JavaScript. Each problem comes with a description and, where applicable, sample test cases. You are encouraged to attempt solving the problems on your own and then compare your solutions with the provided Solutions.
The questions are organized into categories based on data structures and algorithmic concepts. Each category includes its own set of challenges and problems. The repository currently covers the following topics:
- Arrays and Strings
- Linked Lists
- Stacks and Queues
- Trees and Graphs
- Sorting and Searching
- Dynamic Programming
- Recursion
- And more...
Feel free to explore the categories and choose problems that match your current skill level and learning goals. The solutions are provided in JavaScript, offering insights into various approaches and techniques.
Contributions are welcome and encouraged! If you have additional questions, improvements to existing problems, or new categories you'd like to add, feel free to contribute to this repository. Here's how you can contribute:
- Fork the repository to your GitHub account.
- Create a new branch for your changes:
git checkout -b feature/new-feature
. - Make your changes, including adding new questions, improving existing ones, or enhancing documentation.
- Commit your changes:
git commit -am 'Add new questions'
. - Push the branch to your GitHub repository:
git push origin feature/new-feature
. - Open a pull request in this repository, describing your changes and their purpose.
Please ensure that your contributions follow best practices, are well-documented, and adhere to any coding standards set for this repository.