作为一个程序猿,刷题可以算是一个基本素养了。
为了更高的薪水,更好吃的FreeFood,更漂亮的小姐姐(大雾),刷点题算什么?
可是刷过的同学都知道,刷题是一个比刷日常本还无聊的事儿,尤其是对着一道hard抓狂半小时一点思路都没有的时候。
但古人说过,天将降大任于是人也,必先饿其体肤饿其体肤饿其体肤……嗝……不是,是必先苦其心志,劳其筋骨。
劳筋骨这件事情只能通过多做颈椎操和马杀鸡来缓解,苦心智嘛,我倒是有几个不错的东西推荐给你,保管让你的幸福指数刷刷上升。
Leetcode CLI
整个刷题Kit的核心,需要一定时间上手,熟悉后一定会爱上它。
Github: https://github.com/skygragon/leetcode-cli
原贴:https://www.1point3acres.com/bbs/thread-200734-1-1.html
一个图说明它的炫酷之处。
基本上可以完成所有网页上的核心功能:
- list problems
- list by tag
- list by company(plugin needed,这是一个不能说的福利)
- show problems
- test with customized cases
- submit and get beat ratio
Discussion的话好像也能看,不过我没用过,一般都去网页,方便点赞膜拜大佬。
还有一个厉害的地方就是可以绑定一个你的github repository,在AC的时候把代码自动上传上去。
除此之外还有leetcode stat
这个神奇的command,会给你一些在网页端也没有的统计信息。
- 可以通过
leetcode stat
查看各难度题目的完成度。
- 可以通过
leetcode stat -g
查看完成的题目。
- 还可以通过
leetcode stat -c
查看你的提交情况。
PS:
- 可以给 'leetcode' 设一个alias比如 lc. 会让你的生活更美好。
- 很多比较常见的功能都可以自己定制一些customized function,比如这个
lcg () {
leetcode show $1 -g
}
可以通过 lcg $题号 直接下载源代码到当前目录。
- 因为源代码总是下载到当前目录,所以建议建一个iterm的profile把根目录设在你的workspace,方便你以后找代码。
不足之处:
- 图片不能显示,这是没办法的事,terminal能显示图片就不酷了,遇到有图片的题就乖乖去网页吧。
- 作者好像很久没有维护了,有一些已知的bug,不过Github的issue区有一些大神提出了解决方法所以各位程序猿们可以自行改代码。
- 有时候在网页端做的题和新题不会自动sync,需要登出登入来刷新。
SpaceVim
有了CLI,接下来就看编辑器了,当然硬核的大佬们可能会选择Vim,如果你想用Vim又觉得原版不够炫酷的话不妨试试SpaceVim。提供语法高亮等各种可定制功能,美中不足的是会拖慢Vim的启动速度。
我还是比较习惯鼠标操作所以并没有用很久就放弃啦,这里就不多叙述了。
Atom
我刷题用的编辑器,相比Sublime更重量级一些,大家应该都知道,就不多做叙述了。选Atom的主要原因之一是它的activate-power-mode插件,先扔个图片给你们感受一下:
是不是特别炫酷。除此之外还可以选择开启Combo Mode,效果就是在你的编辑窗口显示一个combo数值,各位少年是不是找回了一骑当先的割草快感?
除此之外还可以通过Package Installer安装很多额外内容,UI和Syntax的话推荐atom-material-ui.
Tickeys
关于这个工具我在另一篇文章用完就会爱上的Mac工具里介绍过,简单说来就是一个可以模拟机械键盘声音的软件,音效十分逼真。配合上activate power mode简直比老坛酸菜还要酸爽。
当然你乐意直接用机械键盘的话就当我没说咯……
写在最后
当然各种工具都只能是外在条件。
真正重要的还是一颗能忍受孤独枯燥的上进的心。
祝各位程序猿小哥哥小姐姐们都找到心仪的工作!