🎯 什麼情境該想到我
當你「已經有一個能動的解,但覺得太慢/太笨、想找更漂亮更高效的解法」時。
⚙️ 怎麼用
- 先有正確的暴力解:別一開始就追最優,先確保對。
- 找重複與浪費:哪裡在重算?(→ 記憶化/DP)哪裡在做無用功?(→ 剪枝)
- 換角度重新表述問題:從數學、資料結構、對稱性等不同視角看,常有簡潔解。
- 列出多個解並比較取捨:時間 vs 空間 vs 可讀性,選最適合當前場景的(不一定是漸進最優)。
- 用具體小例子驗證每個新解仍正確。
🧪 我實際套用的紀錄
- 2026-07-15:(待填)
⚠️ 注意
- 最優解不總是最好選擇;若可讀性/維護性代價太高,簡單夠快的解更務實(見 工具-簡單清楚至上)。
🔗 相關工具
- 工具-演算法設計策略 —— 找第二解時的搜尋方向:先辨認題目屬於哪種策略,比亂試有效率
- 工具-用類比解決新問題 —— 另一條找解路徑:想不出新解法時,從解過的相似問題借結構
- 工具-時間複雜度分析 —— 判斷「新解真的比較好嗎」的量尺,避免只是換個寫法卻沒變快