TheAlgorithms-C/leetcode
Alexander Pantyukhin 90d7d81807
feat: Add LeetCode directory writer (#1187)
* add leetcode_directory_writer

* updating DIRECTORY.md

* Update leetcode_directory_md.py

add script header

* updating DIRECTORY.md

* updating DIRECTORY.md

* Update .github/workflows/leetcode_directory_writer.yml

Co-authored-by: David Leal <halfpacho@gmail.com>

* Update .github/workflows/leetcode_directory_writer.yml

Co-authored-by: David Leal <halfpacho@gmail.com>

* Update .github/workflows/leetcode_directory_writer.yml

Co-authored-by: David Leal <halfpacho@gmail.com>

* Update .github/workflows/leetcode_directory_writer.yml

Co-authored-by: David Leal <halfpacho@gmail.com>

* Update .github/workflows/leetcode_directory_writer.yml

Co-authored-by: David Leal <halfpacho@gmail.com>

* updating DIRECTORY.md

* Update .github/workflows/leetcode_directory_writer.yml

Co-authored-by: David Leal <halfpacho@gmail.com>

* updating DIRECTORY.md

* Update .github/workflows/leetcode_directory_writer.yml

Co-authored-by: David Leal <halfpacho@gmail.com>

* updating DIRECTORY.md

* updating DIRECTORY.md

* Update .github/workflows/leetcode_directory_writer.yml

Co-authored-by: Taj <tjgurwara99@users.noreply.github.com>

* Update scripts/leetcode_directory_md.py

Co-authored-by: Taj <tjgurwara99@users.noreply.github.com>

* Update scripts/leetcode_directory_md.py

Co-authored-by: Taj <tjgurwara99@users.noreply.github.com>

* Update scripts/leetcode_directory_md.py

Co-authored-by: Taj <tjgurwara99@users.noreply.github.com>

* fix formating

* updating DIRECTORY.md

* updating DIRECTORY.md

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
Co-authored-by: David Leal <halfpacho@gmail.com>
Co-authored-by: github-actions[bot] <github-actions@users.noreply.github.com>
Co-authored-by: Taj <tjgurwara99@users.noreply.github.com>
2023-01-23 11:24:50 -06:00
..
src feat: add Binary Tree Maximum Path Sum (#1179) 2023-01-21 18:42:07 -06:00
DIRECTORY.md feat: Add LeetCode directory writer (#1187) 2023-01-23 11:24:50 -06:00
README.md feat: add delete the Middle Node of a Linked List solution (#1023) 2023-01-19 22:29:34 -06:00

📚 Contributing 📚

We're glad you're interested in adding C LeetCode solutions to the repository.
Here we'll be explaining how to contribute to LeetCode solutions properly.

💻 Cloning/setting up the project 💻

First off, you'll need to fork the repository here.
Then, you'll need to clone the repository to your local machine.

git clone https://github.com/your-username/C.git

After that, you'll need to create a new branch for your solution.

git checkout -b solution/your-solution-name

📝 Adding a new solution 📝

All LeetCode problems can be found here.
If you have a solution to any of these problems (which are not being repeated), that's great! Here are the steps:

  1. Add a new file in leetcode/src with the number of the problem.
    • For example: if the problem's number is 98, the filename should be 98.c.
  2. Provide a small description of the solution at the top of the file. A function should go below that. For example:
/**
 * Return an array of arrays of size *returnSize.
 * The sizes of the arrays are returned as *returnColumnSizes array.
 * Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().
 */
  1. Do not provide a main function. Use the required standalone functions instead.
  2. Doxygen documentation isn't used in LeetCode solutions. Simple/small documentation or comments should be fine.
  3. Don't include libraries/headers such as stdio.h. Your file should be the solution to the problem only.

📜 Adding your new solution to the list 📜

Great! You've added your solution. Now, you'll have to add it to leetcode/DIRECTORY.md.
Please use numerical order. For example: if the solution's number is 98, add your solution after 97, if available.

This is the required format for new solutinos:

| <solution number>   | [<solution name>](<leetcode link to problem>)                                   | [C](./src/<filename>.c)   | <difficulty>     |

📦 Committing your changes 📦

Once you're done with adding a new LeetCode solution, it's time we make a pull request.

  1. First, stage your changes.
git add leetcode/src/98.c # Use `git add .` to stage all changes.
  1. Then, commit your changes.
git commit -m "feat: add LeetCode problem 98" -m "Commit description" # Optional
  1. Finally, push your changes to your forked repository.
git push origin solution/your-solution-name:solution/your-solution-name
  1. You're done now! You just have to make a pull request. 🎉

If you need any help, don't hesitate to ask and join our Discord server! 🙂