This is LoadingHorizion leetcode.
- 第一层为leet中的问题,命名方式:
'Problem'.replace(' ', '_').lower() - 第二层包括各种语言的文件夹(cplusplus, java, python)和一个md文件,md文件为问题的描述,语言的文件夹为各种语言的实现
CMakeLists.txt,用cmake构建工程main.cpp,主测试程序problem.h,头文件包含宏,用来选择一个Solutionproblem_name.hpp,name为实现的后缀,一般为实现者的名字缩写,有多种实现或者多人的实现,用后缀区分
依赖cmake构建工具
mkdir build // 在新目录中构建工程
cd build
cmake .. -Dclass=name // name为problem_name.hpp中的name后缀
makeTest.java,主测试程序- 每一个Solution的实现都放到一个新的包中
javac Test.java // 编译主测试程序
javac pkg/Solution // 编译Solution
java -ea Test pkg // -ea打开assert,pkg为要测试的Solution所在的包problem_name.py,Solution文件test.py,主测试程序
python test.py name // name为problem_name.py中name后缀https://github.com/LoadingHorizon/lhtools
tplmake.py -t leetcpp -q "Two Sum" // c++模板
tplmake.py -t leetjava -f "int[] twoSum(int[] numbers, int target)" // java模板