Welcome to the DSA-Mastery
project!
This project is dedicated to solving Data Structure and Algorithm (DSA) problems daily, using TypeScript, Python, and soon Java. The main objective is to maintain public accountability by regularly committing solutions to this repository.
The motivation behind DSA-Mastery
is to improve problem-solving skills in DSA and to encourage transparency in the learning process. By solving problems daily and sharing the solutions publicly, we aim to track progress and foster a collaborative learning environment.
Contributions to this project are more than welcome! If you'd like to get involved, here's how:
- Fork the repository to your GitHub account.
- Clone the forked repository to your local machine.
- Create a new branch for your contributions.
- Add the DSA problem to the challenges folder.
- Solve a DSA problem using TypeScript, or Python.
- Commit your solution to your branch.
- Push your branch to your forked repository.
- Create a pull request to merge your changes into the main repository.
Please ensure that your code follows the project's coding guidelines and includes appropriate documentation.
To maintain consistency and readability, please adhere to the following guidelines:
- Use TypeScript, or Python for all code submissions.
- Write clear and concise code with meaningful variable names.
- Add comments to explain your thought process when applicable.
- Include unit tests for your solutions to validate correctness.
- Format the code using a linter (e.g., ESLint) to follow the project's style.
To start using the DSA-Mastery
project, follow these steps:
- Clone the repository to your local machine:
git clone https://github.com/your-username/DSA-Mastery.git
- Install the required dependencies:
cd DSA-Mastery
npm install
-
Choose a DSA problem to solve, create a new TypeScript, or Python file (e.g., problem-name.ts, problem-name.py) in the DSA Challenges folder, and implement your solution in the solutions folder (e.g., problem-name-solution.ts).
-
Test your solution (supported for TS only currently):
npm test
-
Commit your changes and push them to your forked repository.
-
Open a pull request to contribute your solution.
If you have any questions or need assistance with using this project, feel free to create an issue. We're here to help!
While we strive for accurate and efficient solutions, the code in this repository is primarily intended for educational purposes and may not always be optimized for production use.
Enjoy the Grind! ๐