LeetCode
LeetCode 63: Unique Paths II
·3 分鐘
LeetCode
Medium
Dynamic-Programming
Grid-Dp
LeetCode 63 解題筆記,依照原始 learning note 重新整理
LeetCode 62: Unique Paths
·3 分鐘
LeetCode
Medium
Dynamic-Programming
Grid-Dp
LeetCode 62 解題筆記,依照原始 learning note 重新整理
LeetCode 1745: Palindrome Partitioning IV
·1 分鐘
LeetCode
Hard
Dynamic-Programming
Interval-Dp
String
LeetCode 1745 解題筆記:先用區間 DP 建好 is_pal[i][j],再枚舉兩個切點,三段都是回文就成立,O(n^2)
LeetCode 120: Triangle
·2 分鐘
LeetCode
Medium
Dynamic-Programming
LeetCode 120 解題筆記,依照原始 learning note 重新整理
LeetCode 3651: Minimum Cost Path with Teleportations
·2 分鐘
LeetCode
Hard
Dynamic-Programming
Grid-Dp
Matrix
Array
LeetCode 3651 解題筆記:一層一層算傳送次數;傳送到某格的成本是上一層「值 >= 它的格子」的最小值,排序後用前綴最小值求,再跑一次右 / 下的 Grid DP
LeetCode 312: Burst Balloons
·1 分鐘
LeetCode
Hard
Dynamic-Programming
Interval-Dp
Array
LeetCode 312 解題筆記:枚舉區間 (i, j) 裡「最後一個」戳破的氣球 k,這時它的鄰居就是 i 和 j,左右兩邊的子問題互相獨立
LeetCode 2603: Collect Coins in a Tree
·2 分鐘
LeetCode
Hard
Tree
Graph
Topological-Sort
LeetCode 2603 解題筆記:先剪掉沒有硬幣的葉子,再固定剪兩層,剩下的邊走兩次
LeetCode 2196: Create Binary Tree From Descriptions
·1 分鐘
LeetCode
Medium
Tree
Binary-Tree
Hash-Map
LeetCode 2196 解題筆記:用 dict 存節點一次連好,根是唯一不是任何人子節點的值
LeetCode 3660: Jump Game IX
·1 分鐘
LeetCode
Medium
Dynamic-Programming
Array
LeetCode 3660 解題筆記:在 i 和 i+1 之間切一刀,如果左邊的最大值 > 右邊的最小值,兩邊就能互相跳到,答案一樣;否則左邊的答案就是左邊的最大值
LeetCode 1878: Get Biggest Three Rhombus Sums in a Grid
·1 分鐘
LeetCode
Medium
Matrix
Enumeration
Heap
LeetCode 1878 解題筆記:枚舉每個頂點和大小,沿四條邊走一圈加總,取前三大的不同值
LeetCode 1727: Largest Submatrix With Rearrangements
·1 分鐘
LeetCode
Medium
Greedy
Sorting
Matrix
LeetCode 1727 解題筆記:每列算出往上連續 1 的高度,欄可以重排,所以把高度由大到小排序,第 j 高乘上 j + 1
LeetCode 3713: Longest Balanced Substring I
·1 分鐘
LeetCode
Medium
Hash-Table
String
Counting
Enumeration
LeetCode 3713 解題筆記:固定起點往右擴;「每種字元次數都一樣」等於「最大次數 × 種類數 = 長度」,每一步 O(1) 判斷