像程式設計師一樣思考

🧭 有計畫地解題

🎯 什麼情境該想到我

當你盯著一個難題「不知從何下手、腦袋空白」時。與其等靈感,不如套策略。

⚙️ 怎麼用(卡住時逐個試)

  1. 先徹底理解問題:輸入輸出是什麼?有哪些限制?舉幾個具體例子。
  2. 減少/放寬約束:先解一個「簡化版/特例」,再逐步加回限制。
  3. 拆成子問題:把大問題切成能各自解決的小塊。
  4. 從已知會做的部分開始:先寫你確定會的,邊做邊逼近未知。
  5. 逆向推理:從想要的結果倒推需要什麼。
  6. 用類比:把它連到你解過的相似問題(見 工具-用類比解決新問題)。

🧪 我實際套用的紀錄

  • 2026-07-15:(待填)

⚠️ 注意

  • 別急著寫 code;在「理解 + 計畫」上多花時間,通常省下更多亂試的時間。

🔗 相關工具

Polya 四步 理解問題 → 擬定計畫 → 執行 → 回顧

🧩 五大解題策略

減少/放寬約束 先解一個簡化版的問題,再把約束加回來

拆成子問題 把大問題切成能各自解掉的小塊

🎯 什麼情境該想到我

當你遇到一個「沒解過、想不到解法」的新問題時。

⚙️ 怎麼用

「不會解 X?先解一個你會解、且和 X 相似的問題。」

  1. 問:這題讓我想到什麼解過的問題? 找出結構相似之處(資料形狀、操作、目標)。
  2. 借用那個問題的解法骨架,再針對差異調整。
  3. 善用既有模式:設計模式、演算法策略、資料結構——把新問題對應到已知模式(見 工具-演算法設計策略設計模式)。
  4. 若找不到直接類比,先解一個更簡單的相似版本,再往上加。

🧪 我實際套用的紀錄

  • 2026-07-15:(待填)

⚠️ 注意

  • 類比是起點不是終點;相似不等於相同,要驗證借來的解法對這題真的成立。

🔗 相關工具

從已知會做的部分開始 先寫出你確定會寫的那一段,逐步逼近

逆向推理 從想要的結果往回推導需要的步驟

🛠 執行原則

先讓它能動,再讓它好 先求可運作的解,再談優化

建立可重用的心智工具箱 把解過的問題模式內化,下次直接調用