Array
LeetCode 3796: Find Maximum Value in a Constrained Sequence
·1 分鐘
LeetCode
Medium
Greedy
Array
LeetCode 3796 解題筆記:每個位置的上界是自己的限制、左邊上界 + 差值、右邊上界 + 差值三者取最小;左右各掃一次
LeetCode 3795: Minimum Subarray Length With Distinct Sum At Least K
·1 分鐘
LeetCode
Medium
Sliding-Window
Hash-Table
Array
LeetCode 3795 解題筆記:求最短的可變視窗;同一個值只算一次,記錄每個值最後出現的位置,左邊界移出的是最後一次出現才扣掉
LeetCode 2653: Sliding Subarray Beauty
·1 分鐘
LeetCode
Medium
Sliding-Window
Hash-Table
Array
LeetCode 2653 解題筆記:值域只有 -50 到 50,固定視窗用計數陣列維護,每個視窗從 -50 往上累加找第 x 小的負數
LeetCode 3788: Maximum Score of a Split
·1 分鐘
LeetCode
Medium
Prefix-Sum
Array
LeetCode 3788 解題筆記:先建後綴最小值,再從左邊累加前綴和,枚舉每個分割點
LeetCode 2134: Minimum Swaps to Group All 1's Together II
·1 分鐘
LeetCode
Medium
Sliding-Window
Array
LeetCode 2134 解題筆記:所有 1 最後會佔一段長度為 1 的個數的環狀視窗,要交換的次數就是視窗裡 0 的數量;在環上滑動找最小值
LeetCode 3679: Minimum Discards to Balance Inventory
·1 分鐘
LeetCode
Medium
Sliding-Window
Hash-Table
Simulation
Counting
Array
LeetCode 3679 解題筆記:規則已經決定哪些要丟,直接模擬;長度 w 的視窗只計算「留下來」的到貨,被丟掉的離開視窗時不能再扣
LeetCode 2461: Maximum Sum of Distinct Subarrays With Length K
·1 分鐘
LeetCode
Medium
Sliding-Window
Hash-Table
Array
LeetCode 2461 解題筆記:固定長度 k 的視窗,不同值的個數剛好等於 k 才代表全部不重複
LeetCode 1423: Maximum Points You Can Obtain from Cards
·1 分鐘
LeetCode
Medium
Sliding-Window
Prefix-Sum
Array
LeetCode 1423 解題筆記:從兩端拿 k 張,等於中間留下連續 n - k 張;用固定長度視窗找留下來的最小和
LeetCode 2841: Maximum Sum of Almost Unique Subarray
·1 分鐘
LeetCode
Medium
Sliding-Window
Hash-Table
Array
LeetCode 2841 解題筆記:固定長度 k 的視窗,維護總和與計數雜湊表;不同值的個數就是雜湊表的大小,數量歸零要刪 key
LeetCode 1512: Number of Good Pairs
·1 分鐘
LeetCode
Easy
Math
Hash-Table
Counting
Array
LeetCode 1512 解題筆記:邊掃邊數,每個數可以跟前面每個相同的數配一對,答案加上目前的出現次數
LeetCode 3731: Find Missing Elements
·1 分鐘
LeetCode
Easy
Hash-Table
Sorting
Array
LeetCode 3731 解題筆記:最小和最大值一定還在,枚舉中間的每個整數,用集合檢查有沒有出現
LeetCode 3712: Sum of Elements With Frequency Divisible by K
·1 分鐘
LeetCode
Easy
Hash-Table
Counting
Array
LeetCode 3712 解題筆記:先數每個值的次數,次數能被 k 整除的就加上「值 × 次數」