Design
LeetCode 3885: Design Event Manager
·1 分鐘
LeetCode
Medium
Heap
Design
Hash-Map
Lazy-Deletion
LeetCode 3885 解題筆記:dict 存目前優先度,max-heap 加 lazy deletion,彈出時再驗證
LeetCode 1570: Dot Product of Two Sparse Vectors
·1 分鐘
LeetCode
Medium
Two-Pointers
Design
Hash-Table
Array
LeetCode 1570 解題筆記:只存非零的 (index, value),內積時用雙指針合併兩個依 index 排序的列表,index 相同才相乘
LeetCode 244: Shortest Word Distance II
·1 分鐘
LeetCode
Medium
Two-Pointers
Design
Hash-Table
String
Array
LeetCode 244 解題筆記:預處理每個字的出現位置(天然排序),查詢時對兩個位置列表做雙指針合併,每次移動比較小的那個
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 3709: Design Exam Scores Tracker
·1 分鐘
LeetCode
Medium
Binary-Search
Prefix-Sum
Design
LeetCode 3709 解題筆記:時間遞增,存前綴和,查詢用兩次 bisect;mid 一定要加括號
LeetCode 901: Online Stock Span
·1 分鐘
LeetCode
Daily
Medium
Stack
Monotonic-Stack
Data-Structures
Design
Design-Patterns
Stock
使用單調堆疊解決股票價格跨度問題
LeetCode 155: Min Stack
·1 分鐘
LeetCode
Daily
Medium
Stack
Constant-Time
Data-Structures
Design
Tuple
使用元組方法實現具有 O(1) 最小值檢索的堆疊
LeetCode 3508: Implement Router
·2 分鐘
LeetCode
Medium
Design
Binary-Search
Queue
Hash-Map
LeetCode 3508 解題筆記:queue 管 FIFO、set 判重複、每個目的地一個遞增的時間陣列,查詢用 bisect
LeetCode 208: Implement Trie (Prefix Tree)
·1 分鐘
LeetCode
Medium
Hash-Table
String
Design
Trie
LeetCode 208 解題筆記:每個節點是 children 字典加一個 is_end 標記;insert、search、startsWith 都是沿著字元往下走
LeetCode 981: Time Based Key-Value Store
·2 分鐘
LeetCode
Medium
Hash-Table
String
Binary-Search
Design
LeetCode 981 解題筆記:每個 key 存一個 (timestamp, value) 的 list,timestamp 是遞增的;get 時二分找最後一個 timestamp <= 查詢時間的
LeetCode 705: Design HashSet
·1 分鐘
LeetCode
Easy
Array
Hash-Table
Linked-List
Design
LeetCode 705 解題筆記:固定數量的桶子,key 對桶子數取餘數決定放哪一桶,每個桶子用 list 處理碰撞