Algorithms
Topological Sort
·2 分鐘
演算法
Graph
Topological-Sort
Kahn
排序、cycle detection、dependency unlocking 與 graph propagation
String DP
·2 分鐘
演算法
Dynamic-Programming
String
Lcs
Palindrome
Prefix table、edit operations、subsequence 與 interval palindrome DP
Shortest Path
·2 分鐘
演算法
Graph
Shortest-Path
Dijkstra
Bellman-Ford
Dijkstra、minimax path 與有邊數限制的 Bellman-Ford
Knapsack DP
·2 分鐘
演算法
Dynamic-Programming
Knapsack
Subset-Sum
0/1、unbounded、reachability、counting 與 optimization state
Grid DP
·2 分鐘
演算法
Dynamic-Programming
Grid-Dp
路徑計數、成本最佳化、反向資源 DP 與局部幾何
Kadane's Algorithm
·1 分鐘
演算法
Kadane
Dynamic-Programming
Array
用 ending-here invariant 解 Maximum Subarray
Sliding Window 滑動視窗
·5 分鐘
演算法
Sliding-Window
Two-Pointers
Hash-Table
Monotonic-Queue
固定長度視窗、可變長度求最長 / 最短、數子陣列個數(最多 K 相減、至少 K 用 count += left)、單調佇列維護視窗最值
Union Find
·4 分鐘
演算法
Union-Find
Union Find 介紹
Difference Array
·1 分鐘
演算法
Difference-Array
Difference Array 介紹
Prefix Sum
·3 分鐘
演算法
Prefix-Sum
Prefix Sum 介紹
Next Permutation
·1 分鐘
演算法
Next-Permutation
Next Permutation 介紹
Digit Dynamic Programming
·3 分鐘
演算法
Digit-Dp
Digit Dynamic Programming 介紹