如何上班摸鱼刷题

2,500 阅读2分钟

又到了找工作的季节,如何在摸鱼的时候愉快地刷题呢?只需要打开vscode ,搜索 algorithm。插件集成了leetcode上的题目,包含了各种面试题以及剑指offer上的题目。

Main Features

1. 测试

代码里包含默认测试用例,也可以自定义添加测试用例,点击测试按钮 自动在本地运行,支持链表和二叉树。 debug.gif

2. debug

只需要在一个测试用例前设置断点,然后给函数添加断点,点击debug按钮,便可以运行debug。支持javascript 和typescript。 由于debug typescript使用了esbuild,所以首次使用会从npm下载esbuild。 debug.png

3. 每日打卡

today.png leetcode官网推出的每日一题功能,只需要在vscode提交便可以打卡。

4. import module

algorithm 支持import module。你不需要再写 priority queue 一遍又一遍,可以把更多时间放在解决问题的核心思想上。 在测试,debug,submit会自动打包引入的方法,由于使用了treeshake,仅仅只会打包使用到的方法,生成的代码非常简洁。 algorithm 内置了一个module algm,可以选择自动导入。algm包含了常用的方法和数据结构,例如priority queue,Segment tree, union–find ,skip list。 同时支持自动导入自定义的Module,只需设置 Auto Import Str

5. 周赛

经常参加周赛的朋友应该有过这样体验,使用js/ts 没有c++,python有优势。因为这些语言内置了 priority queue,order set等数据结构和方法,还有js递归容易栈溢出,初始化多维数组不方便等等。现在有了 import module功能 可以轻松使用algm。

不要在周赛直接使用submit,因为这样提交在周赛中是无效的, 而应该使用下面的build & copy,然后在浏览器提交

Usage

1. 快捷方式

shortcut.png

2. 设置node path

默认会使用node 执行测试和debug,如果是使用nvm安装的,需要设置选项Node Path, 打开file->Preferences->Settings 将会看到设置,选择Extensions->algorithm

3. 登录

可以不登录,除非你需要提交代码。目前支持站点leetcode.comleetcode-cn.comleetcode-cn.com 支持三种登录方式 * account * github * cookie 由于某些原因,github经常断线,未来将会支持proxy设置,目前推荐使用account和cookie。

4. 选择语言

ctrl+shift+p ,然后选择algorithm:switch default language,目前仅支持js/ts,未来将会支持其他语言。

5. build code & copy code

点击build

build.png

然后点击copy

copy.png

此功能主要在周赛中使用,

github地址: github.com/supperchong…

vscode插件:marketplace.visualstudio.com/items?itemN… 欢迎提问和star