分享一款将 LeetCode 中 AC 的题目转化为 MarkDown 表格的插件

muyunyun:背景: 写博客的时候每当新增 LeetCode 题解时都需要在 https://github.com/MuYunyun/blog/blob/master/LeetCode/README.md 手动更新表格, 非常费劲。因此构思了该插件实现自动化同步更新 leetcode ac 题解为 markdown table 。

crd-leetcode-cli

crd-leetcode-cli 提供将 leetcode 中已 AC 的题目转化为 markdown 表格的能力。

Install

执行 yarn add crd-leetcode-cli -g, 国内用户可以执行 cnpm install crd-leetcode-cli -g

Usage

leetcode download       // 增量拉取 AC 题目(若无登录, 则会先执行登录逻辑)
leetcode download -a    // 全量拉取 AC 题目
leetcode login          // 登录
leetcode logout         // 登出

接入项目示例

Render Markdown Table Customly

插件提供了自定义渲染 markdown table 的能力。

  • 在项目根目录创建 config.js 文件。
  • 在 config.js 内自定义生成 markdown 的 transform_markdown_table 函数。
const transform_markdown_table = (dataArr) => {
  const beforeDescription = `The markdown table is generated by [crd-leetcode-cli]( https://github.com/MuYunyun/create-react-doc/tree/master/packages/leetcode-cli)`;
  let result = beforeDescription + '\n' +
    '| # | Title | Explanation | Difficulty | Type |' +
    '\n' +
    '|:---:|:---:|:---:|:---:|:---:|';

  for (let i = 0; i < dataArr.length; i++) {
    result += `\n| ${dataArr[i].questionId} | [${dataArr[i].title
      }]( https://leetcode.com/problems/${dataArr[i].titleSlug
      }/) | [Analyze]( https://github.com/MuYunyun/blog/blob/master/LeetCode/${dataArr[i].questionId
      }.${dataArr[i].title.split(' ').join('_')}.md) | ${dataArr[i].difficulty
      } | ${dataArr[i].topicTags} |`;
  }
  return result;
};

module.exports = { transform_markdown_table }

通过自定义 transform_markdown_table 函数, 便可得到如下 markdown table:

分享一款将 LeetCode 中 AC 的题目转化为 MarkDown 表格的插件插图

Technology Details

  • 使用 puppeteer 登录 leetcode 获取 cookie 信息。
    • 分享一款将 LeetCode 中 AC 的题目转化为 MarkDown 表格的插件插图(1)
  • 获取 cookie 后, 使用 graphql-request 调用 graphql 接口获取题目详情信息。
  • 自定义生成 markdown table。
leetcode 的算法题,难度是简单的,都做不出来

kikione:leetcode 的算法题,难度是简单的,都做不出来。 我有点怀疑人生sigma65535:做不出来,看答案,当例题。下次就会了 raaaaaar:我的目的不是做出来题,而是分析用了什么知识,分析怎么用的,分析解题思路,分析优化的可能。 q8164305:能看懂并且自己实现一遍就够了啊 q8164305:看都看不懂,那就没办法了

为什么 LeetCode 中文站的题目都变成了英文?

amosasas:https://sm.ms/image/qv1Te57A4gIrDjN没有啊 还是中文 lithbitren:右上角可以中英文切换的 nightwitch:是不是点了一个 切换到英文显示的按钮

AirPodsPro 换新后 AC+怎么办

Themyth:前几天因为 AirPodsPro 的电池经常在充电仓内自动归零,去直营店,天才给 2 只耳换了新的。我没有用 ac+,因为还在保修期内,所以免费……但是忘记咨询换过两只耳朵后,ac+要不要操作变更绑定什么的?其次是,这种换过 2 只耳后,是不是会延长保修一年呢?

线下,线上都买不到华擎 b460m itx ac 主板了,求再推荐一个把

745839:CPU 是 1050ti 。ITX 主机。看 V2 以往帖子,推荐使用 b460m itx ac,现在其他配件都全了,就差主板了,全网无货。麻烦再推荐一款把。好人一生平安啊

刷 LeetCode/LintCode 的一些心得

zzzrf:我之前就是完全 0 基础、大龄转码,刷题上千然后进谷歌的…… 这里 0 基础指的是没学过编程语言,没学过数据结构和算法,一上来就直接做题那种。 第一道题 two sum,我显然不会做。**我的笨方法就是看答案,背答案,然后默出来,就这样还是错了很多次。 然而就是这样低的起点,我把 LC 前 300 道题刷了至少 3 遍,累计刷题数超过 1000 …