Tree
LeetCode 987: Vertical Order Traversal of a Binary Tree
·1 分鐘
LeetCode
Hard
Tree
Binary-Tree
Bfs
Sorting
LeetCode 987 解題筆記:收集 (欄, 列, 值) 三元組,排序後依欄分組
LeetCode 2973: Find Number of Coins to Place in Tree Nodes
·2 分鐘
LeetCode
Hard
Dynamic-Programming
Tree-Dp
Depth-First-Search
Sorting
Heap
Tree
LeetCode 2973 解題筆記:三個數的最大乘積只可能是「最大的三個」或「最小的兩個 × 最大的一個」;每個子樹只回傳最小 2 個和最大 3 個,後序合併
LeetCode 1028: Recover a Tree From Preorder Traversal
·2 分鐘
LeetCode
Hard
Tree
Binary-Tree
Dfs
Stack
String
LeetCode 1028 解題筆記:用 stack 維護從根到目前節點的路徑,stack 長度就是深度
LeetCode 2509: Cycle Length Queries in a Tree
·1 分鐘
LeetCode
Hard
Tree
Binary-Tree
Lca
LeetCode 2509 解題筆記:完全二元樹的編號,parent 就是 v // 2,比較大的往上爬到 LCA
LeetCode 1373: Maximum Sum BST in Binary Tree
·1 分鐘
LeetCode
Hard
Dynamic-Programming
Tree-Dp
Binary-Search-Tree
Depth-First-Search
Tree
LeetCode 1373 解題筆記:後序遍歷回傳 (總和, 最小值, 最大值, 是不是 BST);左子樹的最大值 < 自己 < 右子樹的最小值才是 BST
LeetCode 1377: Frog Position After T Seconds
·2 分鐘
LeetCode
Hard
Tree
Dfs
Bfs
Graph
Probability
LeetCode 1377 解題筆記:無向邊、seen 要記節點、提早到達目標時要看還能不能走
LeetCode 2421: Number of Good Paths
·2 分鐘
LeetCode
Hard
Tree
Union-Find
Graph
Sorting
LeetCode 2421 解題筆記:依值由小到大加入節點,用 Union-Find 數同一群裡同值的節點
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 3820: Pythagorean Distance Nodes in a Tree
·1 分鐘
LeetCode
Medium
Tree
Bfs
Graph
LeetCode 3820 解題筆記:三次 BFS 算出每個點到三個目標的距離
LeetCode 865: Smallest Subtree with all the Deepest Nodes
·1 分鐘
LeetCode
Medium
Tree
Binary-Tree
Bfs
Dfs
Lca
LeetCode 865 解題筆記:BFS 找最後一層再一起往上爬,或一次 DFS 回傳 (深度, 節點)
LeetCode 1339: Maximum Product of Splitted Binary Tree
·1 分鐘
LeetCode
Medium
Tree
Binary-Tree
Dfs
LeetCode 1339 解題筆記:先算總和,再枚舉每棵子樹的和,不要改到輸入