寫過的演算法題,兩個月後再看還是不會。所以做了一個複習用的練習環境。

RECODE 工作區:左側題目與筆記,右側編輯器、歷史提交與測資結果

三個決定

Python 跑在瀏覽器裡。 用 Pyodide,程式碼不會離開你的電腦,也不需要後端評測機。

進度存在本機 SQLite。 不用註冊、不用帳號。

用 FSRS-7 排複習時間。 這是間隔重複的排程演算法 —— 答對就拉長間隔,答錯就拉回來。重點不是刷題數量,是讓你在快忘記的時候剛好遇到它。

練習模式

引導、自由、探險、Speed、Repeat、模擬面試。差別在提示多寡與時間壓力 —— Speed 逼你在時限內寫完,模擬面試把提示全關掉。

每題有獨立的 Markdown 筆記,跟結構化題解分開存:題解是「正確解法長怎樣」,筆記是「我當時卡在哪」。

題庫不隨附

倉庫裡只有一題完整範例,是為這個專案自己寫的。

原因寫在 NOTICE.md:題目敘述、標題、題單名稱多半來自 LeetCode 或其他發布者,那些內容的權利不屬於我,MIT 授權蓋不到它們。所以引擎開源、題庫自備 —— 倉庫附一個 recode-problem-author skill 幫你把草稿轉成合格的題目包,驗證器會實際跑過解答與測資。

技術

Next.js 15 + React 19 + TypeScript,編輯器是 Monaco,Python 是 Pyodide,資料庫是 SQLite。總共 14 個依賴,沒有 vendored 進倉庫的第三方程式碼。


原始碼:https://github.com/x213212/recode