↓快轉到主要內容

Medium

LeetCode 763: Partition Labels
·1 分鐘
LeetCode Medium Hash-Table Two-Pointers String Greedy
LeetCode 763 解題筆記:先記每個字母最後出現的位置,掃描時把這段的結尾延伸到最遠,走到結尾就切
LeetCode 452: Minimum Number of Arrows to Burst Balloons
·1 分鐘
LeetCode Medium Array Greedy Sorting
LeetCode 452 解題筆記:按右端點排序,箭射在右端點,左端點大於箭的位置才需要新的一支;端點相接算重疊
LeetCode 1011: Capacity To Ship Packages Within D Days
·1 分鐘
LeetCode Medium Array Binary-Search
LeetCode 1011 解題筆記:對答案二分,容量範圍是 [max(weights), sum(weights)],用貪心照順序裝來檢查天數
LeetCode 4099: Minimum Operations to Sort With Locked Indices
·2 分鐘
LeetCode Medium Array Merge-Sort Greedy
LeetCode 4099 解題筆記:交換次數就是逆序數;有元素要跨過的上鎖位置一定要解鎖,數出來和 k 比,加上 merge sort 算的逆序數
LeetCode 4098: Minimize the Maximum Value of GCD-Connected Array
·2 分鐘
LeetCode Medium Math Number-Theory Greedy
LeetCode 4098 解題筆記:value 的最小質因數 p 決定一切:後一個最小是 value + p,之後都是偶數每次加 2;左邊可行的條件是 value - p >= 2 * index
LeetCode 328: Odd Even Linked List
·1 分鐘
LeetCode Medium Linked-List
LeetCode 328 解題筆記:奇數位置和偶數位置各接成一條串列,最後奇數串列接上偶數串列的頭;記得把偶數串列的尾巴斷開
LeetCode 2385: Amount of Time for Binary Tree to Be Infected
·1 分鐘
LeetCode Medium Hash-Table Tree Depth-First-Search Breadth-First-Search Binary-Tree
LeetCode 2385 解題筆記:把樹轉成無向圖,從 start 做 BFS,層數減一就是分鐘數
LeetCode 146: LRU Cache
·2 分鐘
LeetCode Medium Hash-Table Linked-List Design Doubly-Linked-List
LeetCode 146 解題筆記:雜湊表找節點、雙向鏈結串列維護使用順序;get 和更新既有的 key 都要移到最前面
LeetCode 889: Construct Binary Tree from Preorder and Postorder Traversal
·1 分鐘
LeetCode Medium Array Hash-Table Divide-and-Conquer Tree Binary-Tree
LeetCode 889 解題筆記:stack 存目前這條路徑,堆頂等於 postorder 的下一個就代表子樹完成要 pop;新節點先接左邊
LeetCode 863: All Nodes Distance K in Binary Tree
·1 分鐘
LeetCode Medium Hash-Table Tree Depth-First-Search Breadth-First-Search Binary-Tree
LeetCode 863 解題筆記:先把樹轉成無向圖(補上往父節點的邊),再從 target BFS 走 k 步
LeetCode 437: Path Sum III
·1 分鐘
LeetCode Medium Tree Depth-First-Search Binary-Tree
LeetCode 437 解題筆記:樹上的前綴和 + 雜湊表:先查 prefix - target 再把自己加進去,離開節點時要扣回來
LeetCode 652: Find Duplicate Subtrees
·1 分鐘
LeetCode Medium Hash-Table Tree Depth-First-Search Binary-Tree
LeetCode 652 解題筆記:後序把每棵子樹編碼,出現第二次時加入答案;字串編碼最差 O(n^2),改成 (值, 左 id, 右 id) 編號可到 O(n)