本來只打算寫兩篇,現在變成 4 篇了,大綱可參考「系列概述與導讀」。

上一篇,我們介紹了 LeetCode 刷題的準備與基本原則,本篇則要介紹我刷題時搭配的 AI 工具——自定義的 GPTs

不過有一點需要提醒:你得先訂閱 ChatGPT Plus,才能直接使用他人建立的 GPTs。

話不多說,直接開始正文。

系列:我的 LeetCode 刷題之道


一、「哩哩扣扣」GPTs 介紹

隆眾介紹你的 AI 刷題助手——哩哩扣扣

哩哩扣扣哩哩扣扣

我們都知道,任何一個 AI 都能夠回答你關於 LeetCode 的問題與解析,因為這類資料對於大語言模型來說,可說是再熟悉不過了。

這個 GPTs 是專為「深入了解 LeetCode 題目」打造的,回答模式偏向學習取向,而非單純提供答案。

輸入題目時,推薦使用完整截圖方式,這樣 AI 更能知曉題目的條件限制等細節。

我個人都是用長截圖一氣呵成,但分段多次截圖也無妨。

當然,如果你只想了解題目大概或掌握重點解法,那麼提供題號和標題就足夠了。


二、學習取向的回答模式

這個 GPTs 的最大特色,就是它的「第一次回答」。

共分成五大部分:

  1. 題目解析
  2. 核心演算法與資料結構
  3. 解題思路與方法比較
  4. 相關題目與延伸概念
  5. 常見錯誤與陷阱

這樣的回答,可以說是把該題的重點,完整地為你梳理一遍,讓你在首次接觸時,就能有一個相對完整的輪廓。

題目解析

我們以第一部分「題目解析」為例,以下是回答的截圖(1. Two Sum):

第一部分又分成三個小節。首先是規則講解,將題目要求用中文說明,幫助非英語母語者快速抓住重點,或確認自己沒有理解錯誤,非常實用。

接著是核心概念,指出這題與哪些演算法重點相關。

最後,GPTs 還會對題目進行重要性評估,幫助你快速判斷該題對面試和學習的價值


大致了解 GPTs 的特色後,再來講述一下我實際上是怎麼用它刷題的。

三、我的使用方式與刷題流程

我練習新題目的流程大致如下:

  1. 看刷題清單,做到哪裡了,選定今天要刷的題目。
  2. 看 LeetCode 網站上的題目內容,了解題目規則,思考 5-10 分鐘。
  3. 如果有想法,可以先試著在 VS Code 作答。如果沒有,直接截圖看「哩哩扣扣」對本題的介紹。
  4. 基於 AI 的回答,看看是否知道怎麼解了,嘗試作答。如果還是不明白,請 AI 給出「詳細的解法流程」。
  5. 從 AI 第一次回答開始,只要有疑問,直接繼續提問,不一定要急著作答。

以上就是我使用 AI 工具輔助刷題的流程。

光這樣講可能還有點籠統,以下是其中兩個環節的詳細說明。

理解題目後,要思考多久?

一開始我對此也有一些困惑,但做了大概十幾二十題後,我有一個心得,那就是——真的不用思考太久。

Easy 類的題目,還在入門階段,可以思考稍微久一點,10 分鐘到 15 分鐘是可以的。

Medium 以上的題目,套路成分會更重,第一次接觸時,你要靠自己想出解法的難度很高,所以這個時候我覺得思考 5 到 10 分鐘就足夠了。

總之,我們的重點是要掌握這些題目的上手方式和正確的寫法,至於第一次做題能不能靠自己想出來,其實不是很重要。

第一次學習的重點

第一次學習時,我會花比較多的時間跟 AI 討論,了解一些重要的基本元素,比如說雙指針二分搜尋的開閉問題(雙閉區間還是左閉右開)等等主題。

這些都不是題目裡面會直接告訴你的,但它們卻是題目的重要組成部分

當你不太懂時,可以直接跟 AI 討論。

AI 可以回答關於刷題的任何問題,所以這個時候多花一點時間是值得的,因為這正是理解與鞏固基礎的時機。


四、注意事項

使用 AI 輔助刷題,其實為了幫助我們更輕鬆地「思考」——而不是獲得答案。

因此,程式碼答案本身其實是最不值錢的部分。理解為什麼要這樣寫,以及掌握其中的關鍵細節,才是這個強大工具能夠給你的最大幫助。

我們可以想像,以前的人要深入理解題目需要花費大量時間:要先閱讀相關書籍來學習解題模式,解完題後還要到 LeetCode 討論區研究其他人的解法和技巧。

這些都是很費工夫的過程,但現在 AI 可以完成其中絕大部分的工作,而你只需要向它提問即可。

為了用好 AI,以下是我認為值得注意的部分:

  • 避免過度依賴:直接複製 AI 給出的程式碼不是太大的問題,只要你詳細和它討論過,而且理解每一步的邏輯。(我會在複習階段才自己全手工寫一遍)
  • 不宜讓對話過長:由於這些對話都是我日後複習的素材之一,所以我會有意識地避免問一些無關緊要的問題,以免對話因過長而失焦。
  • 保持獨立思考:AI 的回答具有一定的隨機性,雖然刷題這件事,它做得非常好,但仍可能因為你提問方式的不同而給出不同的回答方向,這點還須留意。

五、總結與下一步

AI 是刷題的強大助手,但要真正發揮其價值,需要你以合適的方式使用它。

這篇文章與第一篇相隔超過一個月,遠比預期的晚,原因有二:

  1. 我在使用中不斷改善 AI 的回答架構,讓它對學習更有幫助。
  2. 其次,我也需要時間,慢慢摸索與它互動的最佳方式

它的用法還不止我說的這些,需要讀者自行想像、發揮。

下一篇會介紹,在刷題過程中,我如何做筆記,讓學習效果更好、記憶更深刻。