EPI Judge soll als Ergänzung zu unserem Buch Elements of Programming Interviews dienen. Im Einzelnen besteht dieses Projekt aus Folgendem:
So laden Sie den Richter herunter:
$ git clone https://github.com/adnanaziz/EPIJudge.git
Wenn Sie nicht über git
verfügen, finden Sie hier eine gute Anleitung zur Installation von git selbst.
Schauen Sie sich diese einminütigen Videos an, um zu sehen, wie einfach es ist, mit dem Richter zu beginnen.
PyCharm, Eclipse, NetBeans
IntelliJ-IDEE, Eclipse
CLion, Visual Studio 2017
$ python3 <program_name>.py
Verwenden Sie das Makefile
.
Kompilieren Sie ein bestimmtes Programm und führen Sie es aus:
$ make <program_name>
Beispiel:
$ make Anagrams
Kompilieren Sie das zuletzt bearbeitete Programm und führen Sie es aus:
$ make
Sie können alle Programme manuell kompilieren und ausführen, indem Sie GCC und Clang direkt aufrufen.
$ g++ -pthread -std=c++14 -O3 -o anagrams anagrams.cc
Sie können auch das bereitgestellte Makefile verwenden: make <program_name>
. Sie können CMake auch mit der bereitgestellten Datei CMakeLists.txt verwenden.
$ make
Das Standard-Makefile-Ziel ist die zuletzt bearbeitete Datei.
$ make anagrams
Bitte senden Sie uns gerne Fragen und Feedback – [email protected]
und [email protected]
Wenn Sie Probleme haben, z. B. bei der Installation oder fehlerhaften Tests, können Sie sich gerne per E-Mail an uns wenden. Seien Sie bitte so detailliert wie möglich. Idealerweise können Sie ein Screencast-Video des Problems auf YouTube hochladen. Andernfalls laden Sie bitte Screenshots hoch. Je detaillierter die Beschreibung des Problems und Ihrer Umgebung (Betriebssystem, Sprachversion, IDE und Version), desto einfacher können wir Ihnen helfen.
Die oben beschriebenen IntelliJ Integrated Development-Umgebungen sind die Besten ihrer Klasse und verfügen über kostenlose Versionen, die gut für den EPI Judge funktionieren. Sie enthalten nicht die Compiler. Sie können die Java-Entwicklungsumgebung von Oracle und die Python-Entwicklungsumgebung von Python.org beziehen. Für C++ haben Sie mehrere Möglichkeiten. Am einfachsten ist es, VisualStudio zu installieren, das sowohl die IDE als auch den Compiler enthält. Google ist eine gute Quelle für Installationshilfe.
Welche Compiler werden für Judge unterstützt?
Welche Compiler werden für Lösungen unterstützt?
Teilen Sie uns mit, ob es Ihnen gelungen ist, mit einer älteren Version zu kompilieren.
Schauen Sie sich diesen Screenshot an.
Das Judge-System ist ziemlich komplex (verwendet jedoch keine nicht standardmäßigen Sprachfunktionen oder Bibliotheken). Sie können es gerne studieren, wir raten Ihnen jedoch davon ab, Änderungen daran vorzunehmen (da dies bei der Aktualisierung zu unangenehmen Zusammenführungskonflikten führen kann).
Wenn Sie das Projekt in Ihre bevorzugte IDE importieren möchten, müssen Sie wahrscheinlich ein IDE-Projekt mit CMake erstellen (für CLion ist dies nicht erforderlich, es unterstützt CMake sofort).
Hier ist ein Beispielrezept für die Generierung eines Visual Studio-Projekts (Liste aller von CMake unterstützten IDEs). Öffnen Sie nach der Installation von CMake Ihr Terminal, gehen Sie zum Ordner epi_judge_cpp
und führen Sie die folgenden Befehle aus:
mkdir vs
cd vs
cmake -G "Visual Studio 15 2017" ..
Öffnen Sie dann einfach die Lösung epi_judge_cpp/vs/epi_judge_cpp.sln
mit Visual Studio und alle EPI-Programme werden geladen.
Die Datei index.html im Stammverzeichnis dieses Projekts verfolgt Ihren Fortschritt bei der Lösung der Probleme. Insbesondere gibt es für jedes Kapitel eine erweiterbare Registerkarte. Klicken Sie darauf und Sie sehen Ihren Fortschritt, z. B. wie unten. Diese Datei wird jedes Mal aktualisiert, wenn Sie ein Programm ausführen. Mit dieser Datei können Sie Buchprobleme Stub-Programmen zuordnen .
Ein großes Dankeschön an die Hunderte von Benutzern, die die Version in den letzten Monaten ausprobiert haben. Wie immer sind wir immer wieder beeindruckt von der Begeisterung und dem Engagement unserer Leser. Es hat dazu beigetragen, das Beste aus uns herauszuholen. Wir alle danken Viacheslav Kroilov dafür, dass er seine außergewöhnlichen Fähigkeiten im Software-Engineering eingesetzt hat, um EPI Judge Wirklichkeit werden zu lassen.