Hash-Map
LeetCode 1178: Number of Valid Words for Each Puzzle
·1 分鐘
LeetCode
Hard
Bit-Manipulation
Hash-Map
Trie
LeetCode 1178 解題筆記:單字只在乎用了哪些字母,轉成 26-bit 遮罩計數,再枚舉謎題遮罩的所有子集合
LeetCode 726: Number of Atoms
·2 分鐘
LeetCode
Hard
Stack
String
Hash-Map
Sorting
LeetCode 726 解題筆記:先把字串切成元素、數字、括號三種 token,括號用 stack 處理,沒有數字時倍數是 1
LeetCode 2196: Create Binary Tree From Descriptions
·1 分鐘
LeetCode
Medium
Tree
Binary-Tree
Hash-Map
LeetCode 2196 解題筆記:用 dict 存節點一次連好,根是唯一不是任何人子節點的值
LeetCode 3885: Design Event Manager
·1 分鐘
LeetCode
Medium
Heap
Design
Hash-Map
Lazy-Deletion
LeetCode 3885 解題筆記:dict 存目前優先度,max-heap 加 lazy deletion,彈出時再驗證
LeetCode 3829: Design Ride Sharing System
·1 分鐘
LeetCode
Medium
Queue
Design
Hash-Map
Lazy-Deletion
LeetCode 3829 解題筆記:乘客和司機各一個 queue,取消只記在 set 裡,配對前再把隊頭已取消的乘客丟掉
LeetCode 3815: Design Auction System
·2 分鐘
LeetCode
Medium
Heap
Design
Hash-Map
Lazy-Deletion
LeetCode 3815 解題筆記:每個商品一個 max-heap,出價改變就推新的一筆,查詢時丟掉過期的
LeetCode 496: Next Greater Element I
·1 分鐘
LeetCode
Daily
Easy
Array
Stack
Monotonic-Stack
Hash-Map
Next-Greater-Element
單調遞減堆疊處理 nums2,預先建立下一個更大元素對照表,回答 nums1 查詢。
LeetCode 30: Substring with Concatenation of All Words
·2 分鐘
LeetCode
Daily
Hard
String
Sliding-Window
Two-Pointers
Hash-Map
Brute-Force
Frequency-Counting
三種作法:暴力、計數優化、偏移量滑動視窗。
LeetCode 1497: Check If Array Pairs Are Divisible by k
·1 分鐘
LeetCode
Daily
Medium
Array
Hash-Map
Complement
Counting
Math
Modulo
餘數配對與雜湊表;特別處理 0 與 k/2 的餘數。
LeetCode 2441: Largest Positive Integer That Exists With Its Negative
·1 分鐘
LeetCode
Easy
Hash-Map
Two-Pointers
Sorting
LeetCode 2441 解題筆記:把正數和負數的絕對值分開放兩個 set,取交集的最大值;只用絕對值會把同號的重複數字誤判成一對
LeetCode 904: Fruit Into Baskets
·1 分鐘
LeetCode
Daily
Medium
Sliding-Window
Variable-Window
Two-Pointers
Hash-Map
LeetCode 解題紀錄 - 可變大小滑動窗口與雜湊表
LeetCode 76: Minimum Window Substring
·1 分鐘
LeetCode
Daily
Hard
String
Sliding-Window
Variable-Window
Two-Pointers
Hash-Map
LeetCode 解題紀錄 - 可變大小滑動窗口與字符計數