Coding Patterns

常見程式解題模式整理,涵蓋基礎到進階的演算法技巧。

Foundation Patterns

Two Pointers

難度核心思想使用案例實務應用
Easy使用兩個指針在資料結構中移動檢查回文、合併排序陣列、尋找數對資料庫索引掃描、文本比對、陣列去重

valid palindrome invalid palindrome loop with one pointer remove duplicates in an array

Sliding Window

難度核心思想使用案例實務應用
Easy/Medium維護可變大小視窗處理連續序列最長無重複子串、最小子陣列、子陣列計數網絡流量監控、用戶行為分析、移動平均線

sliding window

Fast & Slow Pointers

難度核心思想使用案例實務應用
Easy不同速度指針解決循環檢測鏈表環檢測、環起始位置、鏈表中點系統死鎖檢測、循環引用檢查、無限循環診斷

fast slow pointers

Search & Sort

模式難度核心思想使用案例實務應用
Modified Binary SearchMedium二分搜尋變形處理非標準情境旋轉陣列搜尋、最接近值、無限數列資料庫索引優化、時間序列檢索、git bisect
Cyclic SortEasy利用數值範圍特性原地排序缺失數字、重複數字、最小缺失正數資料完整性檢查、序號管理、分配優化

Data Structure Applications

LinkedList Patterns

難度核心思想使用案例實務應用
Easy/Medium指針操作與就地修改反轉鏈表、中間節點、合併排序鏈表LRU Cache、Memory Pool、任務佇列

in-place reversal of a linkedlist

Tree Patterns

難度核心思想使用案例實務應用
Medium樹遍歷與重建層序/前中後序遍歷、路徑和、序列化DOM 操作、檔案系統遍歷、表達式解析

breadth first tree traversal depth first tree traversal binary search tree example binary search tree degenerating demo animation optimal binary search tree from sorted array

Graph Patterns

難度核心思想使用案例實務應用
Hard圖遍歷、最短路徑、連通性DFS/BFS、拓撲排序、Dijkstra社交網絡分析、網絡路由、依賴關係解析

topological sort directed acyclic graph

Intervals & Matrix

Merge Intervals

難度核心思想使用案例實務應用
Medium區間重疊與邊界處理合併時間區間、會議室需求、重疊區間資源預約、行事曆衝突、任務調度

Islands (Matrix Traversal)

難度核心思想使用案例實務應用
Medium二維矩陣連通性即圖遍歷島嶼數量、最大面積、圍棋盤面圖像區域分割、地圖識別、電路板連通性

islands matrix traversal dp

Stack & Queue Applications

模式難度核心思想使用案例實務應用
Monotonic Stack/QueueMedium/Hard維護單調性解決前後關係下一個更大元素、最大矩形、股票跨度價格走勢分析、數據趨勢監控、即時排名

Advanced Data Structures

模式難度核心思想使用案例實務應用
Two HeapsMedium最大/最小堆維護動態中位數數據流中位數、滑動窗口中位數、最大資本響應時間監控、金融數據分析、負載均衡
Top K ElementsMedium堆結構維護前 K 個元素第 K 大元素、K 個最頻繁、K 個最近點搜索結果排序、推薦熱門項目、資源監控
K-way MergeHard合併 K 個已排序數據流合併 K 個鏈表、合併 K 個陣列、最小區間分布式數據整合、日誌合併、並行結果整合

Dynamic Programming

0/1 Knapsack

難度核心思想使用案例實務應用
Hard有限制條件下最優選擇背包問題、子集合總和、資源分配投資組合、服務器資源、預算規劃

knapsack dp tabulation

Other DP Patterns

模式難度核心思想使用案例實務應用
Fibonacci NumbersEasy/Medium遞迴分解並儲存中間結果爬樓梯、跳躍遊戲、解碼方法遞迴優化、數列預測、自然生長模式
Palindromic SubsequenceHardDP 解決回文相關問題最長回文子序列、回文子串數量、最小插入DNA 序列分析、文字相似度、NLP
LCS/LCSubstringHard比較兩序列相似性最長公共子序列、最小編輯距離、字串轉換生物序列比對、版本差異、抄襲檢測

Combination & Enumeration

模式難度核心思想使用案例實務應用
SubsetsMedium組合方式生成所有子集所有子集、大小寫組合、排列組合權限系統、功能開關測試、菜單選項
BacktrackingHard試錯搜尋與回溯N 皇后、數獨、單詞搜索路徑規劃、資源調度、自動化測試
State MachineHard狀態與轉換抽象化正則匹配、字串解析、遊戲邏輯訂單狀態管理、工作流引擎、協議解析

Mathematics & Bit Manipulation

Bitwise Operations

難度核心思想使用案例實務應用
Medium位元運算特性解決數值問題唯一數字、交換變數、奇偶檢測加密算法、數據壓縮、硬體設計

XOR ^

coding pattern xor

AND &

coding pattern and

OR |

coding pattern or

NOT ~

coding pattern not

Left Shift <<

coding pattern shift left

Right Shift >>

coding pattern shift right

Other Math Patterns

模式難度核心思想使用案例實務應用
Number TheoryMedium/Hard數學原理與數論應用質數判定、GCD/LCM、快速冪加密系統、散列函數、數據校驗
Prefix SumMedium預計算累計和優化區間查詢區間和查詢、子數組和、累積頻率金融數據分析、統計處理、積分圖

String Processing

模式難度核心思想使用案例實務應用
String ManipulationMedium/Hard高效字串搜索與處理KMP、Rabin-Karp、公共前綴後綴文本編輯器、搜索引擎、DNA 分析
TrieMedium樹形結構儲存字串集合自動完成、拼寫檢查、字典實現搜索建議、輸入法、URL 路由