本文的目的是介绍一种基于VSCode+LeetCode插件的代码提交环境,能够方便我们在LeetCode这个平台上进行刷题。当然,您完全可以不使用此环境,继续您已经习惯的方式。
LeetCode官网:
LeetCode
请注意:
平时刷题可以使用VSCode等编辑器或各种集成开发环境,它们自带代码补全和语法高亮等功能,方便快捷。但若是出于面试笔试的目的进行刷题,最好适应没有任何代码提示的编写环境,例如在官网解题页面给出的代码编写框,甚至考虑使用TXT记事本这种五彩斑斓的纯黑字体。
以下介绍来自百度百科
LeetCode百度百科
力扣(LeetCode)是领扣网络旗下专注于程序员技术成长和企业技术人才服务的品牌。源自美国硅谷,力扣为全球程序员提供了专业的IT技术职业化提升平台,有效帮助程序员实现快速进步和长期成长。
可以选择前往LeetCode中文官网进行注册:
LeetCode
请注意LeetCode账号分为国内账号和美国账号,账号之间数据不能进行交换或共享,请大家自行决定注册哪种账号。
在LeetCode的题库中,公开免费的题目只有大概2千多题,其它题目、学习计划等资料都需要力扣Plus会员。是否要成为会员完全取决于你自己。
LeetCode中有着进度的概念,每个进度都是独立的,各自记录着不同的刷题记录和提交记录。进度会记录使用该进度时的题目通过总数、题目提交总数、通过的提交数和总提交数
创建并切换到新进度时,在该进度中所有的题目都是未提交状态。[原进度的刷题记录不会改变]
这个功能方便大家对于自己的刷题进行合理的计划,也方便大家对题目进行复习。
在LeetCode的题库页面里有学习计划一栏,下图中左侧列出了一些学习计划,而右侧的“学习计划广场”可以查看LeetCode给出的所有学习计划。
题库
开启学习计划后,每天都会根据一些主题,例如树、数组等标签,解锁2至3道题目。在有限天数内完成所有题目的提交即可获得该学习计划对应的徽章。
注意事项:
目前免费的学习计划只有:
算法
数据结构
动态规划
也就是上图中从左边开始数的3个学习计划。每个学习计划都划分了不同的难度,这有助于我们从简至难进行刷题。不过,这些学习计划中的某些难度,和其它学习计划一样是需要力扣Plus会员的,是否要成为会员完全取决于你自己。
再次强调一下,大部分学习计划,和免费学习计划中的一些难度需要力扣Plus会员才能解锁,是否要成为会员完全取决于你自己。
学习计划可以多次开启,每次开启后学习计划的提交记录为空(以前的提交记录存放在进度中)。一个学习计划开启后,是可以切换难度的。
如果你认为学有余力的话,可以同时开启多个学习计划。
即使学习计划中的某些题目在目前进度已经提交,在学习计划中也是不会显示为已提交的。这在一定程度上能够帮助我们复习以往做过的题。
[当然,打开以前的代码文件直接提交也是可以完成学习计划的,这只取决于你想怎么做。]
若是无法完成当天的所有题目,在之后的日子里完成也是可以的。不过一定不能超过学习计划所规定的天数,不然学习计划终止时,将不会得到该学习计划所对应的徽章。
LeetCode每日会从题库中选出一题,完成该题的提交即可完成打卡。若当天没有完成,则有补卡功能可以补上以往的记录。
以每月为一期,当月完成所有每日一题可以获得属于当年该月的徽章。
打卡、补卡的规则详见LeetCode。
LeetCode中并不是让我们写主函数,而是给了我们一个名为Solution的类的框架,LeetCode在那边会引入我们写的这个类,然后调用名称确定的函数(题目给出的函数名、传参类型和顺序不能改哦,传参名可以改),然后根据输出判断我们代码写的对不对。因此在LeetCode是不写主函数的,其它刷题平台的话也是要根据它们各自的规则去做。
VSCode,全称为Visual Studio Code,是由微软开发的跨平台、免费代码编辑器。它具有轻量级、高度个性化、高度扩展的优点。VSCode本身可以说只是一个较高级的文本编辑器,但其具有庞大的社区,其中的大量插件基本能够满足各种编程语言的书写提示、代码格式化和运行测试。对于喜欢用多种编程语言进行在线OJ的小伙伴,这一点可以完全省去我们在使用多种编程语言解题时,频繁切换IDE的烦恼。
VSCode官网下载页面:
VSCode
LeetCode插件需要Node.js环境来运行。
可以前往Node.js 中文网下载,这里以node-v16.13.0-x64.msi
安装包为例,按照一直Next
的步骤即可完成安装:
安装的过程中会遇到这个画面,这个选项可以不勾选:
若是之后想安装这个选项的东西,可以在开始菜单里找到Node.js
文件夹,然后点击Install Additional Tools for Node.js
即可:
在安装完成并打开VSCode之后,不必急于创建文件夹以存放LeetCode代码文件,LeetCode插件将会自动创建文件夹。
在下图的最左边可以看到一列图标,其中左下方的4个矩形即为插件页面:
在插件列表中搜索LeetCode,选择第一个署名为“力扣 LeetCode”的插件进行下载安装:
当然,你也可以同时安装其它基于LeetCode插件的扩展插件,但本文中不会提及,也不会推广这些插件。
安装完成后,侧边栏最下方应该出现了LeetCode的logo:
点击该图标,
任选一道题,点击后将会跳出题目的详情信息,包含分类、难度等等板块:
点击右下角的Code Now
按钮,插件会提示你选择使用什么编程语言来写这道题:
选择完成后便会自动创建对应的代码文件。第一次点击时,VSCode还将会创建存放代码文件的文件夹.leetcode。
进入解题页面后,可以看到VSCode界面被划分为了3个部分:左侧的资源管理器、中间的代码编写,和右侧的题目说明。
当在VSCode中切换到其它项目后不必担心去寻找文件夹的位置再打开,点击侧边栏中LeetCode的图标后,选择一题点击Code Now
便会自动切换到.leetcode目录下。
关于官方LeetCode插件共有17个设置项,在这里会一一介绍。
选择默认语言后(例如C++),点击Code Now
按钮后将不再询问使用什么语言来编写题解,而是直接创建一个cpp文件,对于想专攻某一语言的小伙伴来说这个选择非常有用,不必每开始一题都要选择编程语言。
当然,LeetCode中还存在有关数据库的题目,这些题目需要sql语句来编写,届时请不要忘记将这个选项设置为空或者对应的sql选项。
第二项:配置快速启动项
登录LeetCode之后,在代码文件的最下方会出现这样的几个按钮,例如Submit
和Test
:
这里的功能项可以在设置里进行选择:
- submit: 将文件中的代码作为最终答案提交到LeetCode中。
- test: 使用默认或自定义的案例进行代码测试。
- star: 收藏该题,或取消收藏。
- solution: 显示该题投票最高的非官方题解。
- description: 显示题目详情页面。
9: 第九项:设置每次点击Code Now
按钮后是否弹出“是否将题目详情显示在代码文件内”的提示,对应下文的第十三项设置。