1

配套 Chrome 刷题插件

 1 year ago
source link: https://labuladong.github.io/algo/zhun-bei-g-8db77/pei-tao-ch-3c700/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

配套 Chrome 刷题插件

labuladong约 2505 字大约 8 分钟配套学习工具

labuladong 的刷题全家桶 由学习网站、《算法秘籍》《刷题笔记》两本 PDF、Chrome/vscode/Jetbrain 三个不同平台的刷题插件组成,致力于为大家提供最丝滑的刷题体验。公众号后台回复关键词「全家桶」即可获取下载和使用手册。

我的 Chrome 插件的主要功能是在力扣和 LeetCode 的页面上添加「题解」和「思路」按钮,方便你跳转查看我的算法文章和解题思路:

chrome_intro1.jpg

肯定有小伙伴问,力扣不是有题解和评论区吗?为啥还要安装你的这个插件呢

首先,我建议你装插件,又没有说不让你学习别人的解法对吧,咱们多方学习,勤于思考,没毛病。

不过我的插件确实有它独特的价值。我先问一句,你是否有这样的困惑:看到新的算法技巧会大呼精妙,以为自己学会了,但下次换个题目,还是做不出来。

如果有,我告诉你为啥,因为人家给你看的只是最后的解法,一般不会给你讲清楚各个算法技巧之间的联系。

比方说,这个技巧 C 可能是技巧 B 和技巧 A 结合衍生出来的,人家只告诉你技巧 C 是什么,你直接从零开始接触 C 就会觉得这个思路不可能是普通人想出来的,甚至产生对算法的畏惧心理,更别说举一反三了。

但实际上,如果你能由浅入深,先了解 A 和 B,再接触 C,就不会觉得 C 有多了不起,你自己也可以推导出来,甚至你能随意变化 C 去解决更多新的的算法题。

我的文章和思路是经过精心设计浑然一体的,每道题的思路中会引用所有相关的技巧,插件可以保证你看到一道题,都可以寻根溯源由浅入深地学习到对应的算法技巧以及思维方法

比如「丑数 II」这道题目:

ch11.jpg

乍一看这像是一道数学题,但实际上它掺杂了 高效寻找素数 中讲到的筛数法和 单链表的六大解题套路 讲到的单链表合并的技巧,我在插件中不仅给出了文章的链接,还给出了对应题目的链接,你可以去点击应题目的「思路」按钮对比题目之间的相似之处。

另外,很多小伙伴不是说看到题目没有思路,不知道从何下手吗?我会如实地分享我的思考过程,以及我这么想的依据是什么。虽然少数时候我的方法不是最优的,但我的方法一定是最「模板化」的。这种模板化的思考过程能够大幅提高初学者学习算法的效率:

ch12.jpg

这就是我的刷题插件独有的价值,相当于我给你打造了一套完整的刷题工具链,如果你认可我算法教程的质量,那么使用我开发的配套工具,显然能给你提供最好的学习体验。

# 插件功能

Chrome%E5%8A%9F%E8%83%BD%E5%88%97%E4%B8%BE.jpg

1️⃣ 力扣 or LeetCode 的所有题目列表和题目详情页中会显示我的题解/思路按钮,支持所有常用编程语言

Chrome%E5%B1%95%E7%A4%BA.jpg

点击「题解」按钮即可跳转到网站对应文章学习,点击「思路」按钮即可查看我精心撰写的简明解题思路和代码。

同时,我把公众号里所有我讲过的题目整理出一份列表,安装插件后访问可以看到效果:

https://leetcode.cn/problem-list/59jEaTgw/open in new window

LeetCode 版:

https://leetcode.com/list/9zwo3ww5/open in new window

2️⃣ 题目详情页也会显示题解和思路按钮,可以直接复制带详细注释的代码,刷题非常方便。另外,有些比较难理解的代码逻辑中会出现小灯泡图标,鼠标移至图标将出现图片辅助理解:

ch6.jpg

用一个 GIF 展示一下丝滑的使用体验:

ch5.gif

# 安装方式

Chrome 刷题插件不止支持 Chrome 浏览器,像 Edge 浏览器、360 浏览器这些使用 Chromium 内核的浏览器都可以通过离线安装 crx 文件的方式安装。

Chrome 浏览器用户有条件的话建议直接在 Chrome 商店下载:

https://chrome.google.com/webstore/detail/leetcode-helper-by-labula/elafhogmnaapleckojedgipgmidneccgopen in new window

Edge 浏览器用户可以直接在 Edge 商店下载(国内也可以访问):

https://microsoftedge.microsoft.com/addons/detail/leetcode-helper-by-labula/mgfjpejofejdbnillfolnnjbiefpoklnopen in new window

如果无法在线安装,也可以离线安装。在公众号后台回复关键词「插件」下载最新版本 crx 文件:

ch1.png

有了 crx 插件文件,可以按照此文的安装方法进行手动安装:

https://cloud.tencent.com/developer/article/1894180open in new window

安装成功后,可以在插件列表看到插件图标:

ch2.png

点击插件图标可以弹出插件弹窗,包含刷新数据的按钮和很多有用的链接:

ch3.png

# 更新方式

1、在 Chrome/Edge 商店安装的,会在新版本发布后自动更新。

2、通过 crx 文件离线安装的,我会在发布新版本之后更新百度网盘中的 crx 文件,所以你只需要重新在公众号后台回复关键词「插件」即可下载最新版本插件,再次安装即可。

建议将插件固定在插件栏,有更新时会有 new 的提示字样:

ch4.png

# 插件配置方法

右键点击插件图标会弹出一个「选项」按钮(Edge 浏览器类似):

ch7.png

点击「选项」按钮即可对插件进行配置:

ch8.png

1、渲染设置可以选择是否对题目列表中有题解/思路的题目进行渲染

ch9.gif

2、网页跳转设置可以配置「题解」按钮跳转到 Gitee Pages(https://labuladong.gitee.io/algo/open in new window)或者 GitHub Pages(https://labuladong.github.io/algo/open in new window):

ch10.gif

插件数据也会同时存储在 Gitee 和 GitHub 上,刷新数据时也会根据这个配置去对应的平台上拉取。按理说 Gitee 在国内访问更快,但实测网速经常不稳定。所以如果你访问 GitHub 没问题,建议设置为 GitHub Pages。

3、可以配置快捷键打开/关闭思路弹窗和复制解法代码。

# 常见问题的回复

问:为什么安装插件后没有效果?点击「手动刷新数据」也没有反应或全部显示 ❌ 标记

答:大概率是你的网络问题。插件的默认配置是去 GitHub Pages 上拉取数据的,如果访问 GitHub 被限速了就可能出现这种情况。你可以尝试更换网络,或者参照前面插件的配置部分,把网页跳转设置设为 Gitee Pages。

问:火狐浏览器可以安装这个插件吗

答:不支持,因为火狐浏览器用的不是 chromium 内核。以前还有办法安装,但现在 chromium 内核接口升级了,所以除非火狐官方适配,否则无法安装 Chrome 插件。

问:有时在更新插件时,为什么 Chrome 浏览器提示我插件需要「读取和更改我在 xxx 网站上的数据」

答:实际上插件不会读取你的任何账户信息,而是插件需要读取该网站的页面 HTML,结果 Chrome 浏览器给了这么一句很容易让人误会的提示语。

借此机会科普一下,Chrome/Edge 商店上架都要经过严格的审核的,如果有恶意插件,根本上不了架,要知道国外对隐私的保护可是比国内强得多。

另外,关于权限申请这块我是很规范的,仅仅申请几个必须的网站权限,所以如果更新的时候需要新权限,Chrome 都会提醒你;不规范的做法是直接用通配符 https://* 申请所有网站的权限,这样每次需要新权限的时候也不会提醒你,但回头你也搞不清这个插件会在哪些网站上干什么事情。

所以下载插件一定要从正规的渠道下载,我的刷题插件的正规下载渠道目前只有 Chrome/Edge 商店,或者通过公众号后台的链接下载 crx 离线安装,其他的渠道很可能有安全问题。

问:macOS/Linux/Windows 系统都能用这个插件吗

答:是的,插件是寄生在浏览器里的,和操作系统无关。只要你的浏览器能够安装插件,就可以正常使用插件。

# bug 反馈

请转到我的 GitHub Discussion,查看一些常见问题的解决方案,如确定遇到 bug,按规则截图反馈:

https://github.com/labuladong/fucking-algorithm/discussions/704open in new window


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK