刷题工作流

刷题不容易,且刷且珍惜。

对于一个长期持久的工作来说,产量和质量是关键,而要保证这两点,需要一个一个完整的流程来保证。

流程质量

对于刷提的质量保证:

  • 对于每到题,掌握所有解法。
  • 完成后去leetcode讨论区查看是否由更简洁的写法。
  • 对文档进行归档,方便日后查看复习。

为了达到上述目的,推荐选择使用Python来刷提,理由如下:

  • 语法糖多,相同逻辑比其他语言代码少。
  • 语法可读性高。
  • 最重要的是,由于是脚本语言,支持monkey patch既相同的方法名,后面的可以覆盖前面的,这样同一个文件,就可以存储多份解答方案,不至于出现编译错误,方便存档。

使用到的工具

  • leetcode-cli
    • 把问题和代码模板下载到本地
    • 可以使用测试用例校验代码
    • 提交代码到leetcode
  • github
  • Pycharm

工作流:

平时刷提在leetcode的流程是:

  1. 在浏览器中确定要解的题。
  2. 使用leetcode cli下载到本地
  3. 在Pycharm中解题
  4. 使用leetcode cli跑测试代码
  5. 使用leetcode 提交作业 并查看结果
  6. 提交github存档
  7. 回到步骤1。

工具备忘录

Leetcode-cli

leetcode-cli是基于leetcode的API提供的一个命令行工具,他是由nodejs编写的,所以只要使用npm就可以安装。安装完之后,使用命令行登录,再选择session,就可以开始刷题了:

npm install -g leetcode-cli
leetcode user -l # login
leetcode session # show all sessions
leetcode session -e xxx # enable session by keyword

可以执行下面命令下载问题:

leetcode show 1 -g -l python3 -x

show后面的数字表示第1题,如果不写数字,则是随机下载一道题;参数-g表示下载到本地并生成文件,-x表示在文件头部加上题目描述;-l 之后可以跟语言,完整的语言列表如下,我这里选了python3。

2019/8/25 posted in  工作流