配套 Chrome 刷题插件
相关信息
Although I usually refer to this extension as a "Chrome Extension," it's not limited to Chrome browser installation and use. Browsers like Edge and 360 that use the Chromium kernel can also install it. For specifics, see the installation guide.
Video Introduction
Recently, I recorded a video introducing the main features of the Chrome Extension. Readers who prefer videos can watch it on Bilibili:
Why Install My Chrome Extension
I recommend all my readers to install my Chrome coding extension. Its main feature is to add "Solution" and "Thought Process" buttons on LeetCode and LintCode pages, making it convenient for you to jump to my algorithm articles and problem-solving insights:
Surely some of you might wonder, "Doesn't LeetCode already have solutions and comment sections? Why install this extension?"
Firstly, I suggest installing the extension, but I'm not stopping you from learning from others' solutions, right? Let's learn from multiple sources and think diligently. No harm in that.
However, my plugin does indeed have its unique value. Let me ask you, do you ever feel this way: you see a new algorithmic technique and think it's brilliant, believing you've mastered it, but when you encounter a different problem, you still can't solve it?
If you do, let me tell you why. It's because what you're shown is usually just the final solution, without a clear explanation of the connections between different algorithmic techniques.
For example, technique C might be derived from combining techniques B and A. People only tell you what technique C is, and when you start from scratch with C, it seems like an impossible thought process for an ordinary person, which can even lead to a fear of algorithms, let alone being able to apply it in various scenarios.
However, if you can learn step by step, first understanding A and B, and then moving on to C, you won't find C so impressive. You can even derive it yourself and adapt C to solve more new algorithmic problems.
My articles and thought processes are meticulously designed and integrated. Each problem's solution references all related techniques. The plugin ensures that when you see a problem, you can trace its roots and learn the corresponding algorithmic techniques and thought processes in a step-by-step manner.
Take the problem "Ugly Number II" for example:
At first glance, it seems like a math problem, but in reality, it combines the sieve method discussed in Efficient Prime Number Search and the linked list merging technique from Six Problem-Solving Patterns for Single Linked Lists. In my plugin, I not only provide links to the articles but also to the corresponding problems. You can click the "Thought Process" button to compare the similarities between problems.
Moreover, many of you say that you don't know where to start when you see a problem, right? I will honestly share my thought process and the basis for my thinking. While my method might not always be the most optimal, it is definitely the easiest to grasp and reuse.
This templated thought process can significantly improve the efficiency of beginners learning algorithms:
This is the unique value of my problem-solving plugin, equivalent to providing you with a complete set of problem-solving tools. If you appreciate the quality of my algorithm tutorials, then using the配套 tools I developed will undoubtedly provide you with the best learning experience.
Feature Showcase
Problem List Rendering
All problem lists and problem detail pages on LeetCode will display my solution and thought process buttons, supporting all commonly used programming languages:
Click the "Solution" button to jump to the corresponding article on the website, and click the "Thought Process" button to view my carefully written concise solution ideas and code.
Additionally, I have compiled a list of all the problems I have discussed on the website. You can see the effect after installing the plugin:
LeetCode CN Version | LeetCode Version |
---|---|
https://leetcode.cn/problem-list/59jEaTgw/ | https://leetcode.com/list/9zwo3ww5/ |
Solution/Thought Process Aid for Problem Solving
The problem detail page also displays solution and thought process buttons, allowing you to directly copy code with detailed comments, making problem-solving very convenient:
Code Image Annotations
For more complex solutions, the code will include image annotations to help understand the logic. Hover over the light bulb icon to view the image annotations:
Algorithm Visualization Panel
When the "Thought Process" is expanded, an interactive algorithm visualization panel will be displayed below the solution code, helping to understand the execution process of the algorithm:
For specific features of the visualization panel, please refer to Introduction to the Algorithm Visualization Panel.
Installation Methods
The Chrome problem-solving plugin not only supports the Chrome browser but also browsers like Edge and 360 that use the Chromium kernel. These browsers can install the plugin via offline installation of the crx file.
For Chrome Browser Users: If possible, it is recommended to download directly from the Chrome Web Store:
https://chrome.google.com/webstore/detail/leetcode-helper-by-labula/elafhogmnaapleckojedgipgmidneccg
For Edge Browser Users: You can download directly from the Edge Add-ons Store (accessible in China as well):
If online installation is not possible, offline installation is also an option. Reply with the keyword "插件" in the public account backend to download the latest version of the crx file:
With the crx plugin file, there are many methods available online for manual installation. Here is one example:
https://cloud.tencent.com/developer/article/1894180
After successful installation, you can see the plugin icon in the list of extensions:
Clicking the plugin icon will open a popup window, which includes a button to manually refresh data and plugin-related settings:
Update Methods
1. For Chrome/Edge Store Installation:
The extension will automatically update once a new version is released.
2. For Offline Installation via crx File:
After a new version is released, I will update the crx file on Baidu Netdisk. You only need to reply with the keyword 「插件」 in the public account backend to download the latest version of the extension and reinstall it. It is recommended to pin the extension in the toolbar, as a new
indicator will appear when updates are available.
Recommendation
Always use the latest version of the extension. I continuously optimize its features and fix bugs, so if you encounter any issues, updating to the latest version might resolve them.
Update Log
For details, see Chrome Extension Update Log.
Plugin Configuration
Click the extension icon to open the popup, and scroll down to see the configuration options:
The list rendering setting allows you to choose whether to highlight rows with solutions/thoughts in green.
On the problem details page, you can use custom shortcuts to quickly open/close the thought popup and copy the solution code.
Bug Feedback
You can report issues by creating an Issue on GitHub:
https://github.com/labuladong/fucking-algorithm/issues/
Frequently Asked Questions
Why doesn't the plugin work after installation?
The main reason could be a network issue, causing the plugin to fetch initial data slowly. You can wait a bit or click the "Manual Data Refresh" button:
Wait for the data fetching to complete and then try refreshing the webpage. You should then see the solution and idea buttons.
Unable to successfully refresh plugin data (shows ❌ mark)?
If clicking "Manual Data Refresh" has no effect or all items show ❌ marks, it's likely a network issue. There is a dropdown box to the right of the "Manual Data Refresh" button, with the default option being "Auto Select," meaning the plugin will choose between "Mainland China" or "Non-Mainland China" based on your network speed.
If your network is unstable, try manually changing the dropdown option to "Mainland China" or "Non-Mainland China," and then click the "Manual Data Refresh" button until you see the ✅ mark.
Can I install it on Firefox?
No, it's not supported because Firefox does not use the chromium kernel. There used to be ways to install it, but with the upgrade of the chromium kernel interface, unless Firefox officially adapts, you cannot install Chrome plugins.
However, browsers like QQ Browser and 360 Browser, which use the chromium kernel, can install it.
Can I install it on macOS/Linux/Windows?
Yes, the plugin operates within the browser and is independent of the operating system. As long as you have a browser with a chromium kernel installed on your operating system, you can install and use the plugin normally.
Does the plugin "read and change my data on xxx website"?
In reality, the plugin does not read any of your account information. It needs to read the website's page HTML, and Chrome gives a misleading prompt for this.
To clarify, Chrome/Edge stores have strict review processes. Malicious plugins cannot be listed. Privacy protection is much stronger abroad than in China.
Regarding permission requests, I follow strict guidelines, only requesting necessary website permissions. If an update requires new permissions, Chrome will notify you. An不规范 approach is using a wildcard https://*
to request permissions for all websites, which means you won't be notified for new permissions, and you won't know which websites the plugin interacts with.
Always download plugins from official channels. The official download channels for my problem-solving plugin are currently the Chrome/Edge stores or through the crx offline installation link provided in the official account backend. Other channels may pose security risks.