GPTs 介紹:AI 刷題助手與使用方式
本來只打算寫兩篇,現在變成 4 篇了,大綱可參考「系列概述與導讀」。
上一篇,我們介紹了 LeetCode 刷題的準備與基本原則,本篇則要介紹我刷題時搭配的 AI 工具——自定義的 GPTs。
不過有一點需要提醒:你得先訂閱 ChatGPT Plus,才能直接使用他人建立的 GPTs。
話不多說,直接開始正文。
系列:我的 LeetCode 刷題之道
一、「哩哩扣扣」GPTs 介紹
隆眾介紹你的 AI 刷題助手——哩哩扣扣。
哩哩扣扣
我們都知道,任何一個 AI 都能夠回答你關於 LeetCode 的問題與解析,因為這類資料對於大語言模型來說,可說是再熟悉不過了。
這個 GPTs 是專為「深入了解 LeetCode 題目」打造的,回答模式偏向學習取向,而非單純提供答案。
輸入題目時,推薦使用完整截圖方式,這樣 AI 更能知曉題目的條件限制等細節。
我個人都是用長截圖一氣呵成,但分段多次截圖也無妨。
當然,如果你只想了解題目大概或掌握重點解法,那麼提供題號和標題就足夠了。
二、學習取向的回答模式
這個 GPTs 的最大特色,就是它的「第一次回答」。
共分成五大部分:
- 題目解析
- 核心演算法與資料結構
- 解題思路與方法比較
- 相關題目與延伸概念
- 常見錯誤與陷阱
這樣的回答,可以說是把該題的重點,完整地為你梳理一遍,讓你在首次接觸時,就能有一個相對完整的輪廓。
題目解析
先以第一部分「題目解析」為例,以下是回答的截圖:(1. Two Sum)
哩哩扣扣
第一部分又分成三個小節。首先是規則講解,將題目要求用中文說明,幫助非英語母語者快速抓住重點,或確認自己沒有理解錯誤,非常實用。
接著是核心概念,指出這題與哪些演算法重點相關。
最後,GPTs 還會對題目進行重要性評估,幫助你快速判斷該題對面試和學習的價值。
解題思路與方法比較
回答的第三部分,是「解題思路與方法比較」,這是我覺得最有價值的地方。
例示如下:(3. Longest Substring Without Repeating Characters)
哩哩扣扣
如你所見,它會幫你整理本題的常用解法,大致說明解題的思路——包括直接但不效率的暴力解法。畢竟作為學習者,知曉什麼是「不佳的做法」也是學習的一部分。
最後會用表格呈現各種解法的優缺點,讓你一目瞭然。
大致了解 GPTs 的特色後,再來講述一下我實際上是怎麼用它刷題的。
三、我的使用方式與刷題流程
我練習新題目的流程大致如下:
- 看刷題清單,做到哪裡了,選定今天要刷的題目。
- 看 LeetCode 網站上的題目內容,了解題目規則,思考 5-10 分鐘。
- 如果有想法,可以先試著在 VS Code 作答。如果沒有,直接看 AI 對本題的介紹。尤其是前述的「解題思路與方法比較」部分。
- 基於 AI 的回答,看看是否知道怎麼解了,嘗試作答。如果還是不明白,請 AI 給出「詳細的解法流程」。
- 從 AI 第一次回答開始,只要有疑問,直接繼續提問,不一定要急著作答。
以上就是我使用 AI 工具輔助刷題的流程。
光這樣講可能還有點籠統,以下是其中兩個重點環節的說明。
理解題目後,要思考多久?
一開始我對此也有一些困惑,但做了大概十幾二十題後,我有一個心得,那就是——真的不用思考太久。
Easy 類的題目,還在入門階段,可以思考稍微久一點,10 分鐘到 15 分鐘是可以的。
Medium 以上的題目,套路成分會更重,第一次接觸時,你要靠自己想出解法的難度很高,所以這個時候我覺得思考 5 到 10 分鐘就足夠了。
總之,我們的重點是要掌握這些題目的上手方式和正確的寫法,至於第一次做題能不能靠自己想出來,其實不是很重要。
第一次學習時的重點
第一次學習時,我會花比較多的時間跟 AI 討論,了解一些重要基本元素,比如雙指針(左右、快慢指針)、二分搜尋的開閉問題(雙閉區間、左閉右開)等等主題。
這些都不是題目裡面會直接告訴你的,但它們卻是題目的重要組成部分。
當你不太懂時,可以直接跟 AI 討論。
AI 可以回答關於刷題的任何問題,所以這個時候多花一點時間是值得的,因為這正是理解與鞏固基礎的時機。
四、注意事項
使用 AI 輔助刷題,其實為了幫助我們更輕鬆地「思考」——而不是獲得答案。
因此,程式碼答案本身其實是最不值錢的部分。理解為什麼要這樣寫,以及掌握其中的關鍵細節,才是這個強大工具能夠給你的最大幫助。
我們可以想像,以前的人要深入理解題目需要花費大量時間:要先閱讀相關書籍來學習解題模式,解完題後還要到 LeetCode 討論區研究其他人的解法和技巧。
這些都是很費功夫的過程,但現在 AI 可以完成其中絕大部分的工作,而你只需要向它認真提問即可。
為了用好 AI,以下是我認為值得注意的部分:
- 避免過度依賴:直接複製 AI 給出的程式碼不是太大的問題,只要你詳細和它討論過,而且理解每一步的邏輯。(我會在複習階段才自己全手工寫一遍)
- 不宜讓對話過長:我會有意地避免問一些無關緊要的問題,以免對話因過長而失焦。日後要複習時,不至於讓自己看得眼花撩亂。這是個人偏好,僅供參考。
- 不止提問,更要思考:思考 AI 的回答是否合理,也是學習中的重要一環,不止是一直提問——最好還能夠反駁它!
- 保持獨立思考:AI 的回答具有一定的隨機性,雖然刷題這件事,它做得非常好,但仍可能因為你提問方式的不同而給出不同的回答方向,這點必須留意。
五、總結與下一步
AI 是刷題的強大助手,但要真正發揮其價值,需要你以合適的方式使用它。
這篇文章與第一篇相隔超過一個月,遠比預期的晚,原因有二:
- 我在使用中不斷改善 AI 的回答架構,讓它對學習更有幫助。
- 其次,我也需要時間,慢慢摸索與它互動的最佳方式。
它的用法還不止我說的這些,需要讀者自行想像、發揮。
下一篇會介紹,在刷題過程中,我如何做筆記,讓學習效果更好、記憶更深刻。