Array
LeetCode 3804: Number of Centered Subarrays
·1 分鐘
LeetCode
Medium
Hash-Table
Enumeration
Array
LeetCode 3804 解題筆記:固定左端點往右擴,邊加總邊把元素放進集合,總和在集合裡就算一個
LeetCode 2831: Find the Longest Equal Subarray
·1 分鐘
LeetCode
Medium
Sliding-Window
Hash-Table
Binary-Search
Array
LeetCode 2831 解題筆記:對每個值,把它出現的位置列出來;在位置列表上滑動視窗,要刪的數量 = 位置跨度 − 這個值的個數
LeetCode 2779: Maximum Beauty of an Array After Applying Operation
·1 分鐘
LeetCode
Medium
Sliding-Window
Sorting
Binary-Search
Array
LeetCode 2779 解題筆記:每個數可以變成 [x - k, x + k] 裡的任何值,一群數能變成同一個值 ⇔ 最大 - 最小 <= 2k;排序後找最長的這種視窗
LeetCode 2271: Maximum White Tiles Covered by a Carpet
·1 分鐘
LeetCode
Medium
Sliding-Window
Greedy
Sorting
Prefix-Sum
Binary-Search
Array
LeetCode 2271 解題筆記:地毯的左端放在某段白磚的起點一定不會更差;排序後用雙指針,完整蓋住的段累加,最後一段只算部分
LeetCode 1838: Frequency of the Most Frequent Element
·1 分鐘
LeetCode
Medium
Sliding-Window
Sorting
Greedy
Prefix-Sum
Binary-Search
Array
LeetCode 1838 解題筆記:排序後,把視窗裡的數都加到 nums[right] 的花費是 nums[right] × 長度 − 視窗總和;花費 > k 就縮左邊
LeetCode 1458: Max Dot Product of Two Subsequences
·1 分鐘
LeetCode
Hard
Dynamic-Programming
Longest-Common-Subsequence
Array
LeetCode 1458 解題筆記:兩個前綴的 DP;dp[i][j] 可以配對 nums1[i]、nums2[j](接在 dp[i-1][j-1] 後面或自己開頭),或跳過其中一個
LeetCode 3634: Minimum Removals to Balance Array
·1 分鐘
LeetCode
Medium
Sliding-Window
Sorting
Binary-Search
Array
LeetCode 3634 解題筆記:排序後留下來的一定是連續一段;對每個最小值 nums[left],用只往右走的指針找能留到哪裡,刪掉兩邊剩下的
LeetCode 2958: Length of Longest Subarray With at Most K Frequency
·1 分鐘
LeetCode
Medium
Sliding-Window
Hash-Table
Array
LeetCode 2958 解題筆記:「求最長」的滑動視窗,剛加入的數字出現超過 k 次就縮左邊
LeetCode 220: Contains Duplicate III
·2 分鐘
LeetCode
Hard
Sliding-Window
Bucket-Sort
Ordered-Set
Sorting
Array
LeetCode 220 解題筆記:桶大小設成 valueDiff + 1,同一個桶裡的兩個數一定符合;只要再看相鄰兩個桶。視窗只保留最近 indexDiff 個數,所以每個桶最多一個數
LeetCode 1975: Maximum Matrix Sum
·1 分鐘
LeetCode
Medium
Greedy
Matrix
Array
LeetCode 1975 解題筆記:負號可以兩兩搬到任何位置,但負數個數的奇偶不變;奇數個時留一個在絕對值最小的位置
LeetCode 1306: Jump Game III
·1 分鐘
LeetCode
Medium
Bfs
Dfs
Graph
Array
LeetCode 1306 解題筆記:每個 index 是節點、往左右跳是邊,BFS 或 DFS 看能不能走到值為 0 的位置
LeetCode 2200: Find All K-Distant Indices in an Array
·1 分鐘
LeetCode
Easy
Two-Pointers
Array
LeetCode 2200 解題筆記:每個 key 往左右各延伸 k 格,用一個指針記住已經輸出到哪裡,避免重疊的區間重複輸出