ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

给 leetcode 开源仓库提 PR:三种贡献路径完整指南

给 leetcode 开源仓库提 PR:三种贡献路径完整指南

给 leetcode 开源仓库提 PR:三种贡献路径完整指南

【免费下载链接】leetcodeLeetCode Solutions: A Record of My Problem Solving Journey.( leetcode题解,记录自己的leetcode解题之路。)项目地址: https://gitcode.com/gh_mirrors/le/leetcode

leetcode 仓库是「LeetCode Solutions」开源项目,记录了解题之路:经典题解、专题总结和每日一题活动。想做第一次 leetcode 开源仓库贡献或提交题解,按下面流程走就行。

先 clone 下来逛一圈:

git clone https://gitcode.com/gh_mirrors/le/leetcode

一张速览表:三种贡献路径怎么选

贡献类型认领方式产出位置核心规则
文档翻译提交新 issue中文同目录,.en.md结尾人工意译;算法术语保留英文
每日一题在 issue 下留言"认领"daily/信息卡片 + 逗号分隔的枚举 tag
新增题解直接提交 PRproblems/模板七要素 + 代码标注语言 + README 联动更新

先逛仓库:目录结构与贡献入口

每个目录都有自己的分工,先看一遍:

  • problems/:经典题解,一题一个文件,形如1014.best-sightseeing-pair.md;
  • thinkings/:专题总结,回溯、dynamic programming、前缀树都在里面;
  • daily/:每日一题活动记录,按日期命名;daily/README.md 挂着认领区和历史汇总;
  • templates/:官方模板。templates/problems/1014.best-sightseeing-pair.md 是题解模板,templates/daily/2019-06-03.md 是每日一题模板;
  • assets/:素材库,分题解配图、每日一题图、draw.io 源文件三块;
  • README.md 与 README.en.md:题解链接的总入口,按难度和题号排序,新题解要挂在这里;
  • CONTRIBUTING.md 和 CONTRIBUTING.en.md:贡献规范的正文,三条路径的要求都出自它。

三条贡献路径,按难度从低到高

路径一 文档翻译:如何认领待翻译文档 📝

认领。翻一遍 issue 列表,找出还没人翻的文档。提交一个新 issue 占坑,别和别人撞车。

产出要求。

  • 中英两个版本靠文件名区分,英文在中文名后面加.en:
1014.best-sightseeing-pair.md # 中文版 1014.best-sightseeing-pair.en.md # 英文版
  • 走人工翻译,读起来像中文母语写的,别有机翻味;
  • 算法术语不译,binary search、dynamic programming直接保留原文。

常见坑。

  • 逐字直译,句子拗口;
  • 把专有名词硬翻成中文,反而让读者看不懂。

路径二 每日一题:如何提交一期 Daily Problem 🗓️

认领。打开 daily/README.md 的综合认领区,挑一道未认领的题。到对应 issue 下留言"认领",维护者会把你设为解决者,然后开工。

产出要求。按模板在daily/下整理一份日期文件,四个板块都要有:

  • 信息卡片:时间、题目链接、tag、题目描述;
  • 参考答案:把思路讲明白,语言不限;
  • 扩展:放延伸内容,也可以只抛问题不给答案;
  • 其他优秀解答:收录群成员的思路,可以标注"暂无"留白。

tag 是枚举值,多个用逗号隔开:

tag: dp, array

取值不确定就看 LeetCode 官方 tag,别自创。

常见坑。

  • 没先认领就动手,整理完发现和别人重复;
  • tag 随手编,评审时被打回;
  • 只写一种解法。参考答案适合一题多解,多贴一种思路价值翻倍。

路径三 新增题解:题解模板七要素怎么填 ✍️

认领。不需要提前占坑,挑一道你有把握的题,直接提 PR。

产出要求。题解文件放进problems/,照 题解模板 写,下面七项都要有:

要素填写说明
题目地址换成你这道题的链接和题号
题目描述完整摘录要求与示例
前置知识解题依赖的算法或数据结构
公司常考这道题的面试官
思路核心解法,讲清为什么这样做
关键点难点拆解,如空间换时间、dp 优化
代码完整可运行

扩展、相关题目、参考三项可选。代码块必须显式声明语言:

// JavaScript Code

多语言实现要在每段代码前标清版本。中文题解记得给力扣中国的链接和题目描述;复杂题目必须配图,比如这种 dp 状态示意图:

常见坑。

  • 代码块没写语言,渲染出来没有高亮;
  • 加了个叫"想法"的章节,和"思路"撞车,全仓库统一用"思路";
  • 只交了题解文件,忘了在 README.md 里按难度和题号插入链接;英文题解同步补 README.en.md。

配图与 draw.io 资源怎么放

三类素材对应三个目录:

素材类型存放目录示例
题解配图assets/problems/121.best-time-to-buy-and-sell-stock.jpg
每日一题图片assets/daily/按日期命名
draw.io 源文件assets/drawio/11.container-with-most-water.drawio

画图工具随你挑:excalidraw、draw.io、processon 都行。唯一硬要求是复杂题目必须配图,光靠文字读者很难跟上。图存进assets/problems/,draw.io 源文件放进assets/drawio/,两者一起交是仓库鼓励的做法。

提交前自查清单:PR 发出前逐项打勾 ✅

  • 翻译:文件名符合.en.md约定,语句通顺无机翻味,术语保留英文
  • 每日一题:信息卡片四要素齐全,tag 是枚举值且逗号分隔
  • 题解:七要素完整,没有和"思路"语义重复的章节名
  • 代码块全部显式声明语言,多语言实现逐段标注
  • README.md 已按难度和题号插入链接,英文题解同步更新 README.en.md
  • 图片、draw.io 文件已放入assets/对应子目录

全部勾完再点提交。PR 合并那天,你的名字会进贡献者列表。挑一道你有把握的题,现在就可以开始。

【免费下载链接】leetcodeLeetCode Solutions: A Record of My Problem Solving Journey.( leetcode题解,记录自己的leetcode解题之路。)项目地址: https://gitcode.com/gh_mirrors/le/leetcode

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

返回列表