點擊 機器學習算法與Python學習 ,選擇加星標
精彩內容不迷路
量子位 報導 | 公眾號 QbitAI今天為大家帶來兩個乾貨分享,讓你的刷題效率up up up!
首先,工欲善其事必先利其器。
第一份乾貨來自網友在GitHub上分享的一份教程:在IDE中刷題,讓編碼調試一體化。
聽起來有點意思啊,讓我們來看看是怎麼實現的~
使用教程安裝:首先,需要安裝插件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可在本地調試代碼。
Custom code template: 開啟使用自定義模板,否則使用默認生成格式
CodeFileName: 生成文件的名稱,默認為題目標題
CodeTemplate: 生成題目代碼的內容,默認為題目描述和題目代碼
TemplateConstant:模板常用變量
${question.title}:題目標題,例如:兩數之和
${question.titleSlug}:題目標記,例如:two-sum
${question.frontendQuestionId}:題目編號,例如:1
${question.content}:題目描述內容
${question.code}:題目代碼部分
$!velocityTool.camelCaseName(str):一個函數,用來將字符串轉化為駝峰樣式
注意:在生成的自定義代碼中包含兩行關鍵信息
這兩行標記標示了提交到leetcode伺服器進行驗證的代碼範圍,在此範圍內只允許有出現與題目解答相關的內容,出現其他內容可能導致leetcode驗證不通過。
除了此範圍內,其他區域是可以任意填寫的,內容不會提交到leetcode,可以增加一些可以本地調試的內容,例如:import java.util.Arrays;
所以,這兩行內容是不能被刪除和修改的,否則將識別不到提交的內容。
可參考示例:
#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}
}
最後還有兩步即可完成配置:
安裝後窗口界面如下:工具欄:
登錄:兩個網站的登錄帳號不互通,切換網站需配置對應的用戶
退出:退出當前帳戶,如遇到登錄錯誤,嘗試先進行退出
刷新:在未登錄的情況下也可查看刷新加載題目,但是無法提交
查找:輸入內容後回車搜索,再次回車搜索下一個,只會搜索題庫節點下
摺疊:摺疊全部節點.
配置:快捷跳轉到配置界面
清理:清理配置的緩存目錄下的文件,兩個網站對應的緩存目錄不同,只會清理當前配置的網站下的。部分題目未提交的情況下慎重清理
樹:
Problems:全部題目
Difficulty:難度分類
Tags:類型分類
Explore:探索內容,只包含題目,收費內容不支持;部分題目加載有順序限制
顏色:題目顏色代表題目難度
符號:題目前√與?代表當前題目解答狀態,探索下有 $ 開頭的為付費或者其他情況下無法查看的
菜單(在題目上右擊出現)
open question:打開題目,在題目上雙擊也可以打開
open content:查看描述,包含圖片(依賴 Markdown)
Submit:提交題目
Submissions:查看提交記錄,在彈出的窗口上選擇記錄查看詳情(Show detail)
Run Code:運行代碼,默認使用題目的測試用例
Testcase:自定義測試用例
favorite:添加或移除收藏
Clear cache:清理當前題目
Timer:計時器,開啟後在右下角狀態欄提示解題時間
Editor菜單(在Editor上右擊出現):功能同上
使用效果最終的使用效果如下,可以在IDE中選擇leetcode-editor插件及使用的程式語言,然後點擊力扣圖標,就能在菜單中選擇題目開始刷題了。
並且可以將寫好的代碼在本地調試,方便快捷了許多。
你可能還想要一個刷題攻略除了強大的工具外,一份好用的刷題攻略也必不可少。
GitHub上有網友分享出了自己總結的一套算法模板,並且他靠著這份模板刷題,成功拿到了字節跳動的offer!
其中的關鍵就是作者總結了一套練習題,他把題目類型進行了劃分、並對基礎知識點進行了講解,刷一遍練習題後再上手LeetCode,知識點掌握地會更加牢固。(對題庫感興趣的小夥伴可以在文末連結自提)
有了以上強大的工具和秘籍,就可以開始愉快地刷題了。
希望教程能對大家有所幫助,歡迎在評論區分享交流刷題經驗~
教程連結
leetcode-editor:https://github.com/shuzijun/leetcode-editor
練習題網站:https://greyireland.gitbook.io/algorithm-pattern/
算法模板:https://github.com/greyireland/algorithm-pattern