1 个不稳定版本
0.2.10 | 2023年3月7日 |
---|
#15 在 #leetcode
185KB
3K SLoC
Rust 语言 LeetCode 解法
Rust 文档请参阅 https://leetcode-rust.zhongdongy.com 或 https://leetcode-rust.pages.dev/。
注意:所有问题描述均收集自 LeetCode 网站、力扣,所有相关版权归 LeetCode、力扣及其社区所有。此仓库的作者不能也不会保证问题描述和解决方案的正确性。
文档
运行 cargo doc
命令,然后在 target/doc/leetcode_rust/
目录中查找文档。
构建文档
此命令将清空 docs/
目录,并将新生成的文档放置其中。由于文档部署在 Cloudflare Pages 服务上,而该服务暂时不支持使用 Cargo 构建,因此必须在将最新更改推送到 GitHub 之前执行本地文档构建。
./docsgen.sh
测试
解决方案测试位于 tests/problems
目录中,并按问题编号分组。每个问题测试组(例如 p000_0xxx.rs
)对应一个测试用例模块目录(例如 cases/c000_0xx/
)。每个问题测试都有自己的用例定义,要使用测试用例,只需导入并调用 use_case()
函数。
测试所有解决方案
要运行所有解决方案测试,只需运行
cargo test --test solutions # LeetCode problems
cargo test --test solutions_cn # 力扣题库
运行文档测试
cargo test --doc
运行单元测试
cargo test --lib
同时运行单元测试和所有解决方案
cargo test --tests
运行特定问题的测试
假设您想测试问题 #5 的解决方案,运行
cargo test --test solutions p000_005
Rust 语言下的力扣解法(非官方)
关于 Crate 提供的各个解法的 Rust 文档,请参阅 https://leetcode-rust.dongs.xyz/。
请注意,所有题目来源于 LeetCode 网站和力扣。所有题目的著作权属于上述两个平台及相应的社区。作者不能也不会保证题目描述、解法的正确性。
文档
在项目根目录执行 cargo doc
命令,然后访问 target/doc/leetcode_rust/
目录可以 找到生成的最新文档。
构建文档
下述命令将会清空您本地项目目录下的 docs/
文件夹,然后将新生成的内容放入其中。由于此文档 部署在 Cloudflare Pages 服务上,而该服务暂不支持使用 Cargo 构建,所以必须在每次推送 最新更改到 GitHub 之前执行本地文档构建。
./docsgen.sh
解法验证
所有的解法验证程序都位于 tests/problems_cn
目录下,并按照题目编号进行分组。每个问题组(如 p000_0xx.rs
代表编号 000 到 099 的题目)对应一个单独的测试用例目录(如 cases/c000_0xx/
)。每个问题的验证程序都提供了国际版、国内版两组测试用例,但其中的大部分都是相同的。要使用某个问题的测试用例,只需要将其引入,然后调用公有的 use_case()
函数,它的返回值就是测试用例列表。
验证所有的问题的解法
执行以下命令来执行所有问题的解法
cargo test --test solutions # LeetCode 国际版题库
cargo test --test solutions_cn # 力扣题库
执行文档测试
cargo test --doc
执行单元测试
cargo test --lib
同时执行单元测试和验证解法
cargo test --tests
单独验证某个问题的解法
假设您想要验证问题 #5 的解,那么可以执行以下命令
cargo test --test solutions p000_005
依赖项
~0.6–1.4MB
~32K SLoC