String
LeetCode 583: Delete Operation for Two Strings
·3 分鐘
LeetCode
Medium
Dynamic-Programming
String
LeetCode 583 解題筆記,依照原始 learning note 重新整理
LeetCode 115: Distinct Subsequences
·3 分鐘
LeetCode
Hard
Dynamic-Programming
String
LeetCode 115 解題筆記,依照原始 learning note 重新整理
LeetCode 97: Interleaving String
·3 分鐘
LeetCode
Medium
Dynamic-Programming
String
LeetCode 97 解題筆記,依照原始 learning note 重新整理
LeetCode 72: Edit Distance
·3 分鐘
LeetCode
Medium
Dynamic-Programming
String
LeetCode 72 解題筆記,依照原始 learning note 重新整理
LeetCode 316: Remove Duplicate Letters
·1 分鐘
LeetCode
Medium
Stack
Monotonic-Stack
Greedy
String
LeetCode 316 解題筆記:單調棧 + 最後出現位置,頂端比較大而且後面還會出現就彈掉;已經在 stack 裡的直接跳過
LeetCode 726: Number of Atoms
·2 分鐘
LeetCode
Hard
Stack
String
Hash-Map
Sorting
LeetCode 726 解題筆記:先把字串切成元素、數字、括號三種 token,括號用 stack 處理,沒有數字時倍數是 1
LeetCode 516: Longest Palindromic Subsequence
·2 分鐘
LeetCode
Medium
Dynamic-Programming
String
Palindrome
LeetCode 516 解題筆記,依照原始 learning note 重新整理
LeetCode 1143: Longest Common Subsequence
·3 分鐘
LeetCode
Medium
Dynamic-Programming
String
LeetCode 1143 解題筆記,依照原始 learning note 重新整理
LeetCode 488: Zuma Game
·2 分鐘
LeetCode
Hard
Dynamic-Programming
Memoization
Breadth-First-Search
String
Stack
LeetCode 488 解題筆記:board 最多 16 顆、hand 最多 5 顆,把 (board, hand) 整個當狀態做 DFS + 記憶化;只在「同色球前面」和「拆開兩顆同色球」兩種位置插入
LeetCode 1147: Longest Chunked Palindrome Decomposition
·1 分鐘
LeetCode
Hard
Dynamic-Programming
Greedy
Two-Pointers
Rolling-Hash
String
LeetCode 1147 解題筆記:從兩端同時往內累積字串,左右一相等就切成一對;越早切越好,剩下的中間(如果有)算一塊
LeetCode 1745: Palindrome Partitioning IV
·1 分鐘
LeetCode
Hard
Dynamic-Programming
Interval-Dp
String
LeetCode 1745 解題筆記:先用區間 DP 建好 is_pal[i][j],再枚舉兩個切點,三段都是回文就成立,O(n^2)
LeetCode 3713: Longest Balanced Substring I
·1 分鐘
LeetCode
Medium
Hash-Table
String
Counting
Enumeration
LeetCode 3713 解題筆記:固定起點往右擴;「每種字元次數都一樣」等於「最大次數 × 種類數 = 長度」,每一步 O(1) 判斷