在IDE中刷LeetCode,編碼調(diào)試一體化,刷題效率直線up
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
還在為刷LeetCode效率低而煩惱嗎?
今天為大家?guī)韮蓚€干貨分享,讓你的刷題效率up up up!
首先,工欲善其事必先利其器。
第一份干貨來自網(wǎng)友在GitHub上分享的一份教程:在IDE中刷題,讓編碼調(diào)試一體化。
聽起來有點意思啊,讓我們來看看是怎么實現(xiàn)的~
使用教程
安裝:
首先,需要安裝插件leetcode-editor:https://plugins.jetbrains.com/plugin/12132-leetcode-editor
然后下載文件安裝:https://github.com/shuzijun/leetcode-editor/releases
配置:
第一次安裝需要先配置,配置路徑如下:File->settings->tools->leetcode plugin
- URL可選項:leetcode.com與leetcode-cn.co
- CodeType:Java,Python,C++,Python3,C,C#,JavaScript,Ruby,Swift,Go ,Scala,Kotlin,Rust,PHP,Bash,SQL
- LoginName: 登錄用戶名
- Password: 登錄密碼
- Temp File Path: 臨時文件存放目錄
- proxy(HTTP Proxy): 使用http代理,配置路徑:File ->settings->Appearance & Behavior->System Settings->HTTP Proxy
- Custom code template: 自定義代碼生成模板

這一步作者給出了詳細介紹和示例:
通過配置自定義代碼生成模板可以自由生成代碼格式,配合IDE可在本地調(diào)試代碼。

- Custom code template: 開啟使用自定義模板,否則使用默認生成格式
- CodeFileName: 生成文件的名稱,默認為題目標題
- CodeTemplate: 生成題目代碼的內(nèi)容,默認為題目描述和題目代碼
- TemplateConstant:模板常用變量${question.title}:題目標題,例如:兩數(shù)之和
${question.titleSlug}:題目標記,例如:two-sum${question.frontendQuestionId}:題目編號,例如:1${question.content}:題目描述內(nèi)容${question.code}:題目代碼部分$!velocityTool.camelCaseName(str):一個函數(shù),用來將字符串轉(zhuǎn)化為駝峰樣式
注意:在生成的自定義代碼中包含兩行關(guān)鍵信息
- leetcode submit region begin(Prohibit modification and deletion):提交到leetcode進行驗證的代碼開始標記
- leetcode submit region end(Prohibit modification and deletion):提交到leetcode進行驗證的代碼結(jié)束標記
這兩行標記標示了提交到leetcode服務器進行驗證的代碼范圍,在此范圍內(nèi)只允許有出現(xiàn)與題目解答相關(guān)的內(nèi)容,出現(xiàn)其他內(nèi)容可能導致leetcode驗證不通過。
除了此范圍內(nèi),其他區(qū)域是可以任意填寫的,內(nèi)容不會提交到leetcode,可以增加一些可以本地調(diào)試的內(nèi)容,例如:import java.util.Arrays;
所以,這兩行內(nèi)容是不能被刪除和修改的,否則將識別不到提交的內(nèi)容。
可參考示例:
CodeFileName:
- $!velocityTool.camelCaseName(${question.titleSlug})
TemplateConstant:
- ${question.content}
- package com.shuzijun.leetcode.editor.en;
- public class $!velocityTool.camelCaseName(${question.titleSlug}){
- public static void main(String[] args) {
- Solution solution = new $!velocityTool.camelCaseName(${question.titleSlug})().new Solution();
- }
- ${question.code}
- }
最后還有兩步即可完成配置:
- LevelColour: 自定義題目難度顏色,重啟后生效
- English Content: 題目顯示英文描述
安裝后窗口界面如下:

工具欄:
登錄:兩個網(wǎng)站的登錄帳號不互通,切換網(wǎng)站需配置對應的用戶
退出:退出當前賬戶,如遇到登錄錯誤,嘗試先進行退出
刷新:在未登錄的情況下也可查看刷新加載題目,但是無法提交
查找:輸入內(nèi)容后回車搜索,再次回車搜索下一個,只會搜索題庫節(jié)點下
折疊:折疊全部節(jié)點.
配置:快捷跳轉(zhuǎn)到配置界面
清理:清理配置的緩存目錄下的文件,兩個網(wǎng)站對應的緩存目錄不同,只會清理當前配置的網(wǎng)站下的。部分題目未提交的情況下慎重清理
樹:
Problems:全部題目
Difficulty:難度分類
Tags:類型分類
Explore:探索內(nèi)容,只包含題目,收費內(nèi)容不支持;部分題目加載有順序限制
顏色:題目顏色代表題目難度
符號:題目前√與?代表當前題目解答狀態(tài),探索下有 $ 開頭的為付費或者其他情況下無法查看的
菜單

菜單(在題目上右擊出現(xiàn))
open question:打開題目,在題目上雙擊也可以打開
open content:查看描述,包含圖片(依賴 Markdown)
Submit:提交題目
Submissions:查看提交記錄,在彈出的窗口上選擇記錄查看詳情(Show detail)
Run Code:運行代碼,默認使用題目的測試用例
Testcase:自定義測試用例
favorite:添加或移除收藏
Clear cache:清理當前題目
Timer:計時器,開啟后在右下角狀態(tài)欄提示解題時間
Editor菜單(在Editor上右擊出現(xiàn)):功能同上
使用效果
最終的使用效果如下,可以在IDE中選擇leetcode-editor插件及使用的編程語言,然后點擊力扣圖標,就能在菜單中選擇題目開始刷題了。

并且可以將寫好的代碼在本地調(diào)試,方便快捷了許多。

你可能還想要一個刷題攻略
除了強大的工具外,一份好用的刷題攻略也必不可少。
GitHub上有網(wǎng)友分享出了自己總結(jié)的一套算法模板,并且他靠著這份模板刷題,成功拿到了字節(jié)跳動的offer!

其中的關(guān)鍵就是作者總結(jié)了一套練習題,他把題目類型進行了劃分、并對基礎知識點進行了講解,刷一遍練習題后再上手LeetCode,知識點掌握地會更加牢固。(對題庫感興趣的小伙伴可以在文末鏈接自提)
有了以上強大的工具和秘籍,就可以開始愉快地刷題了。
希望教程能對大家有所幫助,歡迎在評論區(qū)分享交流刷題經(jīng)驗~
教程鏈接
leetcode-editor:https://github.com/shuzijun/leetcode-editor
練習題網(wǎng)站:https://greyireland.gitbook.io/algorithm-pattern/
算法模板:https://github.com/greyireland/algorithm-pattern