Skip to content

LetsGrowMoreCommunity/DSA-Playyard

Repository files navigation

Hey Everyone! 👋 DSA- PlayYard is the first open source project of Lets Grow More Community. It is the perfect place to start with or to test your DSA Skills.

This Project contains all the basic and important topics of DSA so what are you waiting for Contribute to the project, and submit the solutions and have a chance to be featured as Contributor in this project.

🥁🥁 Watch this video before contributing to DSA-Play yard 🙌. Happy Coding! 🙂

https://youtu.be/qXeaN_ZVVIc

🚀 Languages Available under the Project

Our project is divided into important topics that come under DSA and each topic can be implemented in three languages.Do not create folders in your submissions unless specifically told to do so for other languages. The languages available are

  • C++
  • python
  • Java

🧩 Project Structure

Out of all the folders and files, you'll be able to see the 'Topic Wise Folders'. For example, "Arrays", "Linked List", etc. These folders are our major concern. Now, lets understand the structure of each of these folders. For explanation purpose, we'll consider the example of "Arrays" folder.

  • On opening the "Arrays" folder, there will be ONYL FOUR files/folders : 3 folders (C++, Java, Python) and 1 'README.md' file.
  • The 'README.md' file will contain the questions serial number wise (along with links). On clicking the question, you'll be redirected to where there is proper explanation for the question.
  • These questions are the ONLY QUESTIONS that you can solve and provide your solution for in the language of your choice (C++, Java, Python).

⭐ NOTE : The questions can be added ONLY BY MENTORS.

👾 Workflow of the entire process

  • As soon as the mentors add new questions in the README.md of any particular topic folder, they also open an issue for that question.
  • This clearly means that no participant is supposed to open an issue for the questions. ONLY MENTORS CAN OPEN AN ISSUE FOR A QUESTION.
  • You as participant have to go on the issue of the question you wish to solve -> ask the mentors to assign you this issue. Make sure to mention the language in which you'd like to code otherwise the mentors won't be able to assign you the issue.

📌 How can participants suggest questions for a particular topic ?

  • There is a file named as "Suggested Questions".
  • This file is created specially for the participants. If you want to contribute a code for a particular question which is not in the list of questions for which you can provide solution for, you can suggest the question in this file maintaining the serial number (add the link if possible).
  • You should also mention the topic under which you want the question to be added.
  • The mentors will regularly review these suggested questions. If they will find a particular question suitable to be added in the topic mentioned, he/she will add it in the README.md file of that particular topic folder.
  • Now, once this question is added, the mentor will also open an issue for this question.
  • So, now you can go and ask to be assigned this issue.

⭐ NOTE : The person who suggested the question will be prioritized when assigning the issue. The mentors will keep track of it.

🎯 Contribution Guidelines

You may go through these guidelines and contribute accordingly:

  • You can work ONLY ON THE ISSUES ASSIGNED TO YOU.
  • Make sure to complete and contribute the code within the days specified as per the level of the question. (The days will be mentioned by mentors as well when ASSIGNING the issues)
    • Level 0 -> 1 day
    • Level 1 -> 1 day
    • Level 2 -> 2 days
    • Level 3 -> 2 days
    • Level 4 -> 3 days
  • Once the code for a particular question in a particular language is assigned to someone else, you cannot be assigned to work on that.
  • Make sure you do not copy codes from external sources like GFG, Leetcode, etc because that work will not be considered. Plagiarism is strictly not allowed.
  • Make sure your code compiles and runs perfectly before making a pull request.
  • Just mention the issue against which the pull request is open by writing Fixes #(your issue number) in the description of the pull request.
  • Do not update the README.md.

Guidelines for your code 🤖

  • Add a brief description of your algorithm using multi-line (/.../) comments at the starting of the code.
  • Add comments to your code wherever necessary.
  • Make sure to have main() in your code. Your code should accept the user input and also dispay the output in the desired format.
  • Add minimum 2 examples at the end of your code clearly showing the input and its corresponding output.
  • Also, add time and space complexity at the end of your code if possible.

Where to upload the files 📂

For explanation purpose, let's assume that you are uploading C++ code for the question '123. Print the array'.

  • Your file should be uploaded in the Arrays -> C++ folder.
  • The file name should be '123. Print the array.cpp'.


Project Maintainers ⚙


Vilsi Jain
Linkedin  Github

Aman Kesarwani
Linkedin  Github

Tejas Sudhir Tapas
Linkedin  Github

Rohan Kulkarni
Linkedin  Github


Project Mentors 🔥


Sneha Agarwal
Linkedin  Github

Sargam Agarwal
Linkedin  Github

Ujjawal Sharma
Linkedin  Github

Sameeksha RL
Linkedin  Github

Debashish kumar sahoo
Linkedin  Github

Yash Thakare
Linkedin  Github

Contributors ⚡

When you update readme add this link for showing contributors page Contributors