Medium
LeetCode 1186: Maximum Subarray Sum with One Deletion
·1 分鐘
LeetCode
Medium
Array
Dynamic-Programming
LeetCode 1186 解題筆記:Kadane 加一個狀態:結尾在這裡、還沒刪過 / 已經刪過一個;答案要在每一步都更新
LeetCode 775: Global and Local Inversions
·2 分鐘
LeetCode
Medium
Array
Math
LeetCode 775 解題筆記:把計數問題轉成存在性問題,O(n) 解決
LeetCode 912: Sort an Array
·2 分鐘
LeetCode
Medium
Sorting
Merge-Sort
Divide-and-Conquer
LeetCode 912 解題筆記:手寫 merge sort,以及兩次寫錯的地方
LeetCode 253: Meeting Rooms II
·1 分鐘
LeetCode
Medium
Heap
Sorting
Intervals
Sweep-Line
LeetCode 253 解題筆記:heap 存進行中會議的結束時間,半開區間要用 <=
LeetCode 2761: Prime Pairs With Target Sum
·1 分鐘
LeetCode
Medium
Math
Number-Theory
Sieve
Enumeration
Array
LeetCode 2761 解題筆記:篩出 < n 的質數,x 從小到大、只看到 n / 2,x 和 n - x 都是質數就是一對
LeetCode 2523: Closest Prime Numbers in Range
·1 分鐘
LeetCode
Medium
Math
Number-Theory
Sieve
Array
LeetCode 2523 解題筆記:篩出範圍內的質數,相鄰的兩個質數才可能是最接近的;也可以從 left 往右試除,找到差是 2 的雙生質數就停
LeetCode 4067: Longest Subarray With Restricted Pair Sums
·2 分鐘
LeetCode
Medium
Sliding-Window
Hash-Table
Array
LeetCode 4067 解題筆記:合法視窗的子陣列也合法,可以滑動;加入 x 時只要檢查跟 x 有關的三元組:x 當加數(x + y 在視窗裡)或 x 當和(x - y 在視窗裡)
LeetCode 4045: Count Robot Groups
·1 分鐘
LeetCode
Medium
Stack
Monotonic-Stack
Greedy
LeetCode 4045 解題筆記:先合併 t = 0 就夠近的機器人,再從右往左像車隊一樣,比前面車隊快的遲早會併入
LeetCode 622: Design Circular Queue
·1 分鐘
LeetCode
Medium
Queue
Design
Array
LeetCode 622 解題筆記:固定大小陣列加上 head 和 count,位置都對容量取模,空和滿用 count 判斷
LeetCode 4019: Merge Close Characters II
·1 分鐘
LeetCode
Medium
Hash-Table
String
LeetCode 4019 解題筆記:留下來的字不會再變,記每種字元在結果裡最後的位置;新字元跟它的距離 <= k 就被合併掉
LeetCode 323: Number of Connected Components in an Undirected Graph
·2 分鐘
LeetCode
Medium
Graph
Dfs
Bfs
Union-Find
LeetCode 323 解題筆記:DFS 或 Union-Find 數連通塊;Union-Find 沒有路徑壓縮會慢很多
LeetCode 4040: Minimum Operations to Form Subset Sum I
·2 分鐘
LeetCode
Medium
Dynamic-Programming
Knapsack
Array
LeetCode 4040 解題筆記:先乘後除時,最佳的做法只會是「只乘」或「只除」;列出每個數能變成的值和步數,再做分組 0/1 背包