データ構造とアルゴリズム (DSA)
提供される問題は、単純なファイル(例: kruskal-algorithm.cpp
、 linear-search.java
) またはより複雑なディレクトリ( palindrome/
) のいずれかである必要があります。これは単位のproblem
です。
ディレクトリ ツリーには次のようなalgorithms/{language}/{category}/{problem}
の規則があります。ここで、 {language}
問題の言語コードを表します (例: C++ の場合はCPlusPlus
、C# の場合はCSharp
など)、 {category}
は投稿されている問題のトピックまたはカテゴリ (例: strings
、 sorting
、 linked-lists
など)、 {problem}
は問題に準拠した名前 (例: linear-search.cpp
、 palindrome
、 queue-linked-list.cpp
など)
ユニットのproblem
、次の仕様に準拠している必要があります。
palindrome/
、 binary-search.cpp
など)。-
) で区切る必要があります。存在するものではなく新しいトピックまたはカテゴリに属する問題がある場合:
README.md
ファイル)。problem
を記載した Readme を書き込みます (Markdown ドキュメント)。-
) のみを含めることもできます (例: strings
sorting
など)。 ファイルはproblem
仕様と拡張子 (例: linear-search.java
、 kruskal-algorithm.cpp
、 count-inversions.js
など) に準拠している必要があります。
プロジェクトおよびフォルダーベースの投稿には、もう少し厳密な投稿仕様があります。
フォルダーは、 problem
仕様に加えて、次の仕様に準拠している必要があります。
フォルダー構造
problem-name
| - .gitignore
| - README.md
| - Makefile # or the specific specification/requirements/configuration file
| - src
| - main.ext
README.md
仕様書 / テンプレート # < Title of the Problem >
< description of the problem >
## Prerequisites
- prerequisite library or package
- [ prerequisite library ] ( https://www.example.com/link-to-official-library )
## Instructions
- instructions to run the project
- < Simple and reproducible commands to execute the project >
``` bash
make # or 'cargo run', or 'dotnet run' or 'mvn exec:java' etc.
```
## Test Cases & Output < if exists>
< If you can provide test cases, describe it here, else remove this section >
.gitignore
ファイル # add all output files and build files to be excluded from git tracking
main # executable file also must have the project name
target / # the build file, for example for rust
次のいずれかになります
Makefile
requirements.txt
package.json
およびpackage-lock.json
Cargo.toml
とCargo.lock
go.mod
ソース コード ファイルは、 src/
フォルダー (例: src/main.cpp
またはsrc/main.js
) またはルート フォルダー (例: palindrome.go
またはApp.java
) にある必要があります。 ext
は特定のファイルのファイル拡張子です。プログラミング言語。
繰り返しますが、ソース コードは、プログラミング言語が強制する有効なファイル構造規則に準拠している必要があります。
プログラミングでは、各プログラミング言語の命名規則を守る必要があります。
プログラミング言語 | ユーザー |
---|---|
C または C++ | @Arsenic-ATG、@UG-SEP、@aayushjain7、@Ashborn-SM、@Ashad001 |
ジャワ | @TawfikYasser、@aayushjain7、@mohitchakraverty |
C# | @明蔡、@Waqar-107 |
行く | @ayo-ajayi |
パイソン | @Arsenic-ATG、@sridhar-5 |
JavaScript | @明蔡 |
マサチューセッツ工科大学