Module 07
代码库 & ACM 题解
🎯 目标:把历年手写代码和刷过的 ACM/竞赛题目沉淀成可检索、可下载、可追溯的个人档案库。
概述
这个模块解决一个很现实的问题:代码写完了就散落在硬盘各处,面试时想拿出来展示却找不到。
本模块把两样东西集中管理:
- 本地代码库:两个来源汇总
solutions/:按统一命名规范整理的解题文件,带题号、标题、难度、考点leetcode/:同步自外部做题仓库(Gitee buleboy8065/leetcode)的历史代码, 以 ACM 模式书写(input()读入、main()入口),题面以注释附在文件末尾
- ACM 题解:
06_code_archive/problems/下的竞赛题目,含题意、思路、代码、复杂度与易错点
所有内容都会被打包成源码压缩包,和 PDF 电子书一起放在下面的下载中心。
📦 下载中心
| 资料 | 说明 | 大小 | 下载 |
|---|---|---|---|
| 蓝皮书 · 完整版 | 高频手撕 + 八股文 + 大厂笔试真题 + 其他知识,共 1392 页 | 6.6 MB | 下载 |
| 蓝皮书 · 高频手撕 | 第一章单独发行版,字节题单六大分类 118 道去重题,共 92 页 | 1.9 MB | 下载 |
| 蓝皮书 · 源码包 | 蓝皮书对应版本的完整站点源码,可用于本地构建 | 17.2 MB | 下载 |
| 我的代码库 · 源码包 | solutions/ 解题代码 + 06_code_archive/ ACM 题解,由 build-archive.py 自动打包 | 12 KB | 下载 |
| 代码库 & ACM 题解 · PDF | 本页电子书:ACM 题解全文,由 Pandoc + XeLaTeX 从 06_code_archive 编译 | 1.3 MB | 下载 |
校验值(SHA-256)
| 文件 | SHA-256 |
|---|---|
zero2Leetcode-bluebook-v0.1.0-full.pdf |
026901c393dad5a0b87d0cd9a826d7f1885db27d4ce5d4d80b5969e32c9941d9 |
zero2Leetcode-bluebook-v0.1.0-high-frequency.pdf |
2ed899e0a15543365b642c83ca2ae52db00445a11beb53c2218a59be55e89566 |
zero2Leetcode-bluebook-v0.1.0.zip |
4c0aaac35a3e5037325e021193b6e2e83e1de4a3e71a0c891f3d7601f084ca7f |
zero2Leetcode-my-solutions-v0.1.0.zip |
130ec3ada90552b136836134494a723c3a120bfb384398b9e2b063f45fe7fda4 |
zero2Leetcode-code-archive-v0.1.0.pdf |
bb485d03ab3de8c6d97d4f8ef8359e683a0bad302d3dfe24258abe03cd23ddbb |
下载后可用
sha256sum <文件名>核对完整性。
# Linux / macOS
sha256sum zero2Leetcode-bluebook-v0.1.0-full.pdf
# Windows PowerShell
Get-FileHash .\zero2Leetcode-bluebook-v0.1.0-full.pdf -Algorithm SHA256
🧩 ACM 题解索引
共收录 1 道题。
| 题目 | 来源 | 题号 | 难度 | 考点 | 完成日期 | 状态 |
|---|---|---|---|---|---|---|
| CF 4A Watermelon 题解 | Codeforces | CF 4A | 入门(800) | 数学 / 奇偶性 | 2026-09-10 | 独立完成 |
📁 本地代码库
共 17 个文件,最近更新:2026-09-13。
| 文件 | 来源 | 题号 | 标题 | 难度 | 考点 |
|---|---|---|---|---|---|
lc_0001_two-sum.py |
solutions/ |
0001 | Two Sum | Easy | Hash Table |
lc_0121_best-time-to-buy-and-sell-stock.py |
solutions/ |
0121 | Best Time to Buy and Sell Stock | Easy | Greedy |
lc_0206_reverse-linked-list.py |
solutions/ |
0206 | Reverse Linked List | Easy | Linked List |
lc_0704_binary-search.py |
solutions/ |
0704 | Binary Search | Easy | Binary Search |
LC 1-两数之和.py |
leetcode/ACM-lc/HOT100 |
1 | 两数之和 | — | — |
LC 128-最长连续序列.py |
leetcode/ACM-lc/HOT100 |
128 | 最长连续序列 | — | — |
LC 283-移动零.py |
leetcode/ACM-lc/HOT100 |
283 | 移动零 | — | — |
LC 42-接雨水.py |
leetcode/ACM-lc/HOT100 |
42 | 接雨水 | — | — |
LC 49-字母异位词分组 copy 2.py |
leetcode/ACM-lc/HOT100 |
49 | 字母异位词分组 | — | — |
LC 49-字母异位词分组 copy 3.py |
leetcode/ACM-lc/HOT100 |
49 | 字母异位词分组 | — | — |
LC 49-字母异位词分组 copy 4.py |
leetcode/ACM-lc/HOT100 |
49 | 字母异位词分组 | — | — |
LC 49-字母异位词分组 copy 5.py |
leetcode/ACM-lc/HOT100 |
49 | 字母异位词分组 | — | — |
LC 49-字母异位词分组 copy 6.py |
leetcode/ACM-lc/HOT100 |
49 | 字母异位词分组 | — | — |
LC 49-字母异位词分组 copy 7.py |
leetcode/ACM-lc/HOT100 |
49 | 字母异位词分组 | — | — |
LC 49-字母异位词分组.py |
leetcode/ACM-lc/HOT100 |
49 | 字母异位词分组 | — | — |
LC 1-两数之和.py |
leetcode/ACM-lc |
1 | 两数之和 | — | — |
LC 49-字母异位词分组.py |
leetcode/ACM-lc |
49 | 字母异位词分组 | — | — |
代码文件本身不单独在网页上发布,统一通过上面的源码压缩包下载。
solutions/是本站在用的规范格式;leetcode/是同步自外部做题仓库的历史代码。
⬆️ 怎么上传新的 PDF / 代码
本站是纯静态站点,没有后端,所以「上传」走 Git 工作流:文件放进仓库 → 推送 → 服务器重建。
方式一:上传 PDF
- 把 PDF 放到
downloads/目录 -
在
_data/downloads.yml里加一条记录:- title: "我的新电子书" file: "my-book-v1.0.pdf" desc: "一句话说明" size: "2.5 MB" sha256: "<用 sha256sum 算出来的值>" - 提交推送,服务器重建后页面自动出现下载按钮
# 算 SHA-256
sha256sum downloads/my-book-v1.0.pdf
方式二:上传代码
代码直接交给脚本,它会自动扫描、生成索引并打包:
# 1. 添加题目(自动生成解题文件 + 登记记录)
python scripts/new_problem.py --id 121 --title "Best Time to Buy and Sell Stock" \
--difficulty Easy --category "Greedy" --slug best-time-to-buy-and-sell-stock
# 2. 重建索引 + 重新打包源码压缩包
python scripts/build-archive.py
方式三:上传 ACM 题解
复制模板 → 填写 → 重建索引:
cp 06_code_archive/_template.md 06_code_archive/problems/cf-1234a-my-problem.md
# 编辑文件,填好 front matter 和题解内容
python scripts/build-archive.py
最后一步:发布
git add -A
git commit -m "feat: 上传新资料"
git push
推送后在服务器上执行重建(详见 DEPLOY_zh.md):
cd /home/ubuntu/shuati-coach/zero2Leetcode
bash scripts/deploy-server.sh
📕 怎么生成这一页的 PDF
本站的 PDF 由 Pandoc + XeLaTeX 链路产出,和蓝皮书是同一套:
# 完整编译(章节 1-4)
./publish-pdf/build.sh
# 只编译指定章节做预览
./publish-pdf/build.sh --chapters 1 --output bluebook-chapter-1-preview
产物写入 output/pdf/。依赖与目录说明见 publish-pdf/README.md。
编译完成后,把 PDF 复制到 downloads/ 并按上面的「方式一」登记即可。