像程式設計師一樣思考
🧭 有計畫地解題
🎯 什麼情境該想到我
當你盯著一個難題「不知從何下手、腦袋空白」時。與其等靈感,不如套策略。
⚙️ 怎麼用(卡住時逐個試)
- 先徹底理解問題:輸入輸出是什麼?有哪些限制?舉幾個具體例子。
- 減少/放寬約束:先解一個「簡化版/特例」,再逐步加回限制。
- 拆成子問題:把大問題切成能各自解決的小塊。
- 從已知會做的部分開始:先寫你確定會的,邊做邊逼近未知。
- 逆向推理:從想要的結果倒推需要什麼。
- 用類比:把它連到你解過的相似問題(見 工具-用類比解決新問題)。
🧪 我實際套用的紀錄
- 2026-07-15:(待填)
⚠️ 注意
- 別急著寫 code;在「理解 + 計畫」上多花時間,通常省下更多亂試的時間。
🔗 相關工具
- 工具-用類比解決新問題 —— 策略之一,從解過的相似問題借結構
- 工具-設計訣竅 —— 更程序化的版本,把解題流程固定成一份可檢核的清單
- 工具-反過來想 —— 正面想不通時的換向招式,改問「怎樣一定會失敗」
Polya 四步 理解問題 → 擬定計畫 → 執行 → 回顧
🧩 五大解題策略
減少/放寬約束 先解一個簡化版的問題,再把約束加回來
拆成子問題 把大問題切成能各自解掉的小塊
🎯 什麼情境該想到我
當你遇到一個「沒解過、想不到解法」的新問題時。
⚙️ 怎麼用
「不會解 X?先解一個你會解、且和 X 相似的問題。」
- 問:這題讓我想到什麼解過的問題? 找出結構相似之處(資料形狀、操作、目標)。
- 借用那個問題的解法骨架,再針對差異調整。
- 善用既有模式:設計模式、演算法策略、資料結構——把新問題對應到已知模式(見 工具-演算法設計策略、設計模式)。
- 若找不到直接類比,先解一個更簡單的相似版本,再往上加。
🧪 我實際套用的紀錄
- 2026-07-15:(待填)
⚠️ 注意
- 類比是起點不是終點;相似不等於相同,要驗證借來的解法對這題真的成立。
🔗 相關工具
- 工具-程式問題解決策略 —— 上位工具箱,類比是其中一招,卡住時可換別招
- 工具-多元思維模型 —— 類比的素材庫,跨學科模型越多,能借用的相似結構越多
從已知會做的部分開始 先寫出你確定會寫的那一段,逐步逼近
逆向推理 從想要的結果往回推導需要的步驟
🛠 執行原則
先讓它能動,再讓它好 先求可運作的解,再談優化
建立可重用的心智工具箱 把解過的問題模式內化,下次直接調用