↓快轉到主要內容

Array

LeetCode 2540: Minimum Common Value
·1 分鐘
LeetCode Easy Two-Pointers Array
LeetCode 2540 解題筆記:兩個排序好的陣列各一個指針,比較小的那邊往前,第一次相等就是答案
LeetCode 976: Largest Perimeter Triangle
·1 分鐘
LeetCode Easy Math Greedy Sorting Geometry Array
LeetCode 976 解題筆記:排序後,從最大的開始看連續的三條邊,a + b > c 第一次成立就是最大周長
LeetCode 581: Shortest Unsorted Continuous Subarray
·1 分鐘
LeetCode Medium Two-Pointers Greedy Sorting Array Monotonic-Stack
LeetCode 581 解題筆記:從左往右記最大值,最後一個比最大值小的位置是右界;從右往左記最小值,最後一個比最小值大的位置是左界
LeetCode 3555: Smallest Subarray to Sort in Every Sliding Window
·1 分鐘
LeetCode Medium Two-Pointers Greedy Sorting Array Monotonic-Stack
LeetCode 3555 解題筆記:每個長度 k 的視窗都是一次 LeetCode 581;n 只有 1000,對每個視窗跑 O(k) 的兩次掃描即可
LeetCode 1793: Maximum Score of a Good Subarray
·1 分鐘
LeetCode Hard Two-Pointers Greedy Binary-Search Array Monotonic-Stack
LeetCode 1793 解題筆記:從 k 往兩邊擴張,每次往鄰居比較大的那一邊走,讓每個長度的最小值盡量大;到邊界時只能往另一邊
LeetCode 3323: Minimize Connected Groups by Inserting Interval
·1 分鐘
LeetCode Medium Sliding-Window Sorting Binary-Search Array
LeetCode 3323 解題筆記:先合併區間;新區間能把第 l 到 r 組連起來 ⇔ 第 r 組的起點 − 第 l 組的終點 <= k;滑動視窗找一次能連起來最多組
LeetCode 1989: Maximum Number of People That Can Be Caught in Tag
·1 分鐘
LeetCode Medium Two-Pointers Greedy Array
LeetCode 1989 解題筆記:鬼從左到右,每個鬼抓範圍內最左邊、還沒被抓的人;用一個只往右走的指針指向下一個候選人
LeetCode 2972: Count the Number of Incremovable Subarrays II
·1 分鐘
LeetCode Hard Two-Pointers Binary-Search Array
LeetCode 2972 解題筆記:刪掉一段後留下嚴格遞增的前綴 + 後綴;對每個合法的前綴結尾,用只往右走的指針找第一個能接上的後綴起點,後面的起點都能選
LeetCode 2122: Recover the Original Array
·2 分鐘
LeetCode Hard Two-Pointers Sorting Hash-Table Enumeration Array
LeetCode 2122 解題筆記:最小的數一定在 lower,枚舉它的配對決定 k;排序後用兩個指針把每個最小的未配對數配給 +2k 的數
LeetCode 1984: Minimum Difference Between Highest and Lowest of K Scores
·1 分鐘
LeetCode Easy Sliding-Window Sorting Array
LeetCode 1984 解題筆記:排序後選出的 k 個一定是連續的一段;固定長度 k 的視窗,差是兩端相減
LeetCode 3819: Rotate Non Negative Elements
·1 分鐘
LeetCode Medium Array Simulation
LeetCode 3819 解題筆記:把非負數抽出來左旋 k 格,再依序放回原本非負數的位置;一個非負數都沒有時不能對 0 取模
LeetCode 3818: Minimum Prefix Removal to Make Array Strictly Increasing
·1 分鐘
LeetCode Medium Array
LeetCode 3818 解題筆記:從右往左找最長的嚴格遞增後綴,它前面的都要刪