关于leetcode:力扣刷题的正确姿势是什么

57次阅读

共计 3604 个字符,预计需要花费 10 分钟才能阅读完成。

本文本来是打算加到我的新书《算法通关之路》的附录局部。不过因为力扣官网不过审,因而只好作罢。将这部分内容发到这里给大家参考。

《算法通关之路》介绍以及购买可拜访:https://leetcode-solution.cn/…

力扣(LeetCode)网站应用办法

力扣(LeetCode)官网收录了许多互联网公司的算法题目,一度被称为刷题神器。这里咱们就来介绍下如何应用 力扣(LeetCode)网站。

因为力扣(LeetCode)自身也处于一直迭代之后,因而本文局部内容有可能在未来会变得不再实用。

以力扣国内站为例,其官网给出了四个分类:Algorithms、Database、Shell 和 Concurrency,别离示意算法题、数据库题、Shell 和并发题,第一个就是咱们所须要刷的算法题。

并发是 2019 年才增加的新的模块。

点开 Algorithms 后,咱们能够看到一个题目的列表,每个题目都有一个惟一的序号。力扣(LeetCode)目前有 1000 多道题目,并且始终继续更新,其中有一些是带锁的,须要会员能力查看。

前面的承受率(Acceptance)示意提交的正确率,Difficulty 示意难易水平。难易水平有三个级别,别离是 Easy、Medium 和 Hard。

  • Easy 通常不须要太多思考和也不会有简单的细节,比拟特地适宜老手或者拿来热身。
  • Medium 级别就会有些难度,个别都会波及到经典的算法,须要肯定的思考。
  • Hard 级别是最难的,有些时候是算法自身的难度,有些时候特地须要你思考到各种细节。

这里分享一个小技巧给大家。掂量一道题目难不难除了看难度之外,还能够看下承受率,承受率越低代表题目越难,这个指标有时候比难度更靠谱。

你能够对题目进行筛选和排序。

如果咱们只想要找某一类型的题或者某个公司的题库,能够通过 Tags 或 Company 来筛选。

另外咱们在做某一题时,感觉还想再做一个相似的,能够点击题目形容下方 Show Similar Problems 或 Tags 来找到类似的问题。

每个题目都有各自的 Discuss 区域。在这里,许多人都把本人的思路和代码放到了下面,你能够发贴发问,也能够回复他人,外面大神很多,题解品质都很高,如果切实没有思路或者想看下有没有更好的思路能够来逛一下。通常来说我倡议你优先看留言最多或者投票最多的。

点开某一个题目,会跳转到具体题目详情页面,你能够在右侧的代码区切换抉择本人须要的编程语言。

代码编写完了之后,不要急着提交,先测试运行一下(Run Code 按钮)。你能够多写几个测试使劲跑一下,没有问题再提交,要晓得较量的时候谬误提交要加工夫的。

提交通过之后,能够点开 More Details 查看具体运行后果信息。

每道题旁边的 My Submissions 能够找到本人的对于该题的提交状况,这里能够看到本人过来所有的提交,点 Accepted 或 Wrong Answer 就能够查看本人过来提交的代码状况,包含代码是什么,运行工夫以及全副用户提交的工夫分布图等。

以上就是 力扣(LeetCode)的次要性能,心愿通过这一节内容能让你对 力扣(LeetCode)网站有所理解,从而更快地进行刷题。

刷题工具

所谓“工欲善其事必先利其器”,接下来给大家带来一些进步刷题效率的小工具。

力扣代码调试器

力扣代码调试器是一款简略易用的代码调试工具,它可能随时查看代码的运行状况以及选择性地运行代码,以便您排错、调试。

力扣代码调试器反对以下特色性能:

  • 反对无限度增加断点,单步运行调试
  • 一键监听表达式,动静追踪变量,及时定位谬误

「力扣代码调试器」处于内测阶段,具体性能可能会不定期调整,请以最终 release 版本为准。代码调试器目前反对 C++、Java、Python、Python3、C 等 5 种语言,继续更新中。

值得注意的是,这是一个会员才能够应用的性能。

力扣(LeetCode)For VSCODE

这个是一个能够让你在 VSCODE 编辑器中选题,写代码,测试,提交的力扣题目的插件。次要特点是能够利用本人编辑器的所有劣势,包含但不限于编辑器主题,代码智能提醒,代码片段,调试工具。也就是说,下面提到的力扣代码调试器的大多数性能,你都能够通过 VSCODE 以及其扩大插件实现。

毛病是局部性能应用体验不好,比方谬误提醒不显著,常常误提交等,不过最让我感到不难受的是自定义测试用例,显著没有力扣官网做的好。

大家能够在 vscode 插件商店搜寻 leetcode 进行下载安装。

LeetCode-Cheat

题解模板

为了不便大家写出格局良好的题解,插件当初内置题解模板性能,目前模板只有一套,这套模板是 我常常应用的题解模板

装置好咱们的插件 (版本须要 v0.8.0 及以上) 后,关上力扣中文版,会发现如下的按钮。

点击之后会主动疏导你到一个新的页面,

该页面的 题解语言 题目地址 题目名称 信息会主动填充。

你能够疾速实现工夫复杂度,空间复杂度的插入,复杂度曾经依照性能好坏的程序给大家排好了,点击即可插入。

此外咱们提供了若干罕用的公式供你疾速复制应用。除了公式,其余内容都能够在右侧的预览区域查看。

写完只会能够点击复制,将其复制到其余中央以便长久化存储。因为咱们没有做长久化存储,因而 页面刷新内容就会隐没哦

最初祝大家写出丑陋的题解!

数据结构可视化

你能够应用 canvas 自在绘制各种数据结构,不论是写题解还是帮忙了解题目都很有用。

咱们提供了很多内置的模板供你疾速上手。

如果你对内置的模板不称心,也能够将本人的模板保留以便下次应用。

学习路线

算法怎么学?举荐按专题来。具体到某一个专题怎么学?这里提供了一个学习路线帮忙你。本性能旨在将一个专题中的题目进行分类。专题实质就是对题目的一种划分,学习路线基于专题又进行了一次划分。

复杂度剖析

你的代码能会超时么?复杂度剖析帮忙你。

一键复制所有内置测试用例

省去了一个个手动复制的过程,效率翻倍!

代码模板

提供了大量的通过重复验证的模板。模板的作用是在你了解了问题的根底上,疾速书写,并缩小出错概率,即便出错,也容易 debug。

禅定模式

点击之后会变成这样:

底部控制台会隐没,当你鼠标从新移过来或者退出禅定模式就呈现了。

查看题解

当你在任意非题目详情页或者我还没有收录的题目详情页的时候,我都会列出以后我总结的所有题解。

其实我给比拟经典的题目做了题解,因而这个题目数目不是很多,目前是 173 道题。另外有时候我间接写了专题,没有独自给每道题写题解,因而数量上要比 173 多很多。

当你进到一个我写了题解的题目详情页的时候,你就能够正式应用我的插件了。它能够:

  • 给出这道题目的前置常识。换句话说就是 我须要先把握什么能力做出这道题
  • 这个题目的关键点。
  • 哪些公司出了这道题。
  • 我切实不会了,给我看看题解吧。好,满足你。
  • 题解我就不看了,间接 show me code 吧。好,满足你。
  • 依据公司,查找题目。面试突击必备

前期布局:

  • 更多公司信息。继续欠缺题目的公司信息,这个过程须要大家的帮忙,大家能够把本人面试遇到的问题发给我(附带公司和岗位信息),我能够收费提供咨询服务。
  • 岗位信息。
  • 可视化调试。可视化展现你的代码容许状况。
  • 主动制订复习计划。
  • A I 智能提醒。即新的提醒也能够依据题目信息揣测可能的解法。
  • 等等

需要的话,能够去我的公众号《力扣加加》回复插件获取。

LeetBoard

这是一个帮忙你写写画画的一个浏览器扩大工具。很多时候,咱们须要在纸上演算一下,验证本人的思路,这个时候就能够用这个工具。

这个工具提供了多种常见数据结构的可视化,不便大家疾速书写。目前反对的数据格式有:数组,链表,二叉树。

debug-visualizer

这是一个反对可视化调试的 VSCODE 插件。相比于平时咱们 debug,它能帮忙咱们可视化内存中的数据结构。比方数组,树,图等都能够胜任。因为其不是为力扣量身制作的,实际上它还有很多其余的用途,比方可视化图表,比方折线图。其性能十分弱小,你甚至能够基于它定制一套本人专属的数据结构。

大家能够在 vscode 插件商店搜寻 leetcode 进行下载安装。

总结

这五种工具,除了 debug-visualizer,其余都是为力扣量身定做的。

各个工具性能偏重各不相同,大家也能够联合起来应用。总的来说:

  • 如果你想在编辑器中写力扣,那么 力扣(LeetCode)编辑器插件是一个不错的抉择。配合 debug-visualizer 能够实现丝滑般柔顺的感觉。
  • 如果你想在力扣解题过程中写写画画,每每思路,倡议应用 LeetBoard。
  • 如果你想看看题目的公司信息,题解等,倡议应用我写的 LeetCode-Cheat。
  • 如果你不想应用本地编辑器,并依照一堆插件,只想用浏览器去实现,那么力扣代码调试器相对是不二抉择。

另外还有一些网站能够可视化算法的执行过程,这对算法初学者来说尤其重要,algorithm-visualizer 就是这样的一个网站,它收录了简直全副常见的算法,置信能够满足你。

正文完
 0