Monotonic-Queue
Linear DP 線性 DP
·4 分鐘
演算法
Dynamic-Programming
State-Machine
Monotonic-Queue
Binary-Search
一維 DP、狀態機 DP、DP + 單調佇列、排序後的區間排程 DP、子序列計數去重,以及標了 DP 但用觀察或貪心更快的題目
LeetCode 1425: Constrained Subsequence Sum
·1 分鐘
LeetCode
Hard
Sliding-Window
Dynamic-Programming
Monotonic-Queue
Heap
Queue
Array
LeetCode 1425 解題筆記:dp[i] = nums[i] + max(0, 前 k 個 dp 的最大值);前 k 個 dp 的最大值是滑動視窗最大值,用單調佇列 O(1) 取得
LeetCode 3835: Count Subarrays With Cost Less Than or Equal to K
·1 分鐘
LeetCode
Medium
Sliding-Window
Monotonic-Queue
Queue
Array
LeetCode 3835 解題筆記:花費 = (最大 - 最小) × 長度,視窗變大只會變貴,所以可以滑動視窗數子陣列;視窗最大、最小值用兩個單調佇列維護
LeetCode 2762: Continuous Subarrays
·1 分鐘
LeetCode
Medium
Sliding-Window
Monotonic-Queue
LeetCode 2762 解題筆記:滑動窗口加兩個單調隊列,隨時拿到窗口的最大值和最小值
LeetCode 1696: Jump Game VI
·2 分鐘
LeetCode
Medium
Dynamic-Programming
Monotonic-Queue
Queue
Heap
LeetCode 1696 解題筆記:dp[i] = nums[i] + 前 k 個 dp 的最大值;前 k 個的最大值用單調佇列維護,O(n)
LeetCode 239: Sliding Window Maximum
·1 分鐘
LeetCode
Daily
Hard
Monotonic-Queue
LeetCode 解題紀錄
Sliding Window 滑動視窗
·5 分鐘
演算法
Sliding-Window
Two-Pointers
Hash-Table
Monotonic-Queue
固定長度視窗、可變長度求最長 / 最短、數子陣列個數(最多 K 相減、至少 K 用 count += left)、單調佇列維護視窗最值