↓快轉到主要內容

Greedy

LeetCode 410: Split Array Largest Sum
·1 分鐘
LeetCode Hard Dynamic-Programming Binary-Search Greedy Prefix-Sum Array
LeetCode 410 解題筆記:對答案二分搜尋;給定上限 mid,貪心地能塞就塞,數出最少要切幾段,段數 <= k 就表示 mid 可行
LeetCode 4026: Maximum Gap Between Stations
·2 分鐘
LeetCode Medium Two-Pointers Greedy String
LeetCode 4026 解題筆記:從左邊貪心配出每個工人最早可用的站、從右邊配出最晚可用的站;在第 i 和 i+1 個工人之間切開,最大間隔是 latest[i+1] - earliest[i]
LeetCode 2141: Maximum Running Time of N Computers
·1 分鐘
LeetCode Hard Greedy Binary-Search Sorting
LeetCode 2141 解題筆記:比平均時間還大的電池只能給一台電腦用,連同那台電腦一起拿掉,剩下的取平均;要用嚴格的大於
LeetCode 316: Remove Duplicate Letters
·1 分鐘
LeetCode Medium Stack Monotonic-Stack Greedy String
LeetCode 316 解題筆記:單調棧 + 最後出現位置,頂端比較大而且後面還會出現就彈掉;已經在 stack 裡的直接跳過
LeetCode 757: Set Intersection Size At Least Two
·1 分鐘
LeetCode Hard Greedy Sorting
LeetCode 757 解題筆記:按右端點排序(同右端點時左端點大的先),只記最右邊兩個點;沒蓋到就放右端兩點,只蓋到一個就補右端點
LeetCode 1402: Reducing Dishes
·1 分鐘
LeetCode Hard Dynamic-Programming Greedy Sorting Array
LeetCode 1402 解題筆記:排序後從滿意度大的開始選;每多選一道放在最前面,前面選的都往後一格,總和增加「目前選的滿意度總和」,總和是正的就繼續選
LeetCode 1526: Minimum Number of Increments on Subarrays to Form a Target Array
·1 分鐘
LeetCode Hard Dynamic-Programming Greedy Monotonic-Stack Array
LeetCode 1526 解題筆記:從左往右看,每次比前一個高,多出來的高度都要新開那麼多次操作;變矮的部分可以沿用之前的操作
LeetCode 1147: Longest Chunked Palindrome Decomposition
·1 分鐘
LeetCode Hard Dynamic-Programming Greedy Two-Pointers Rolling-Hash String
LeetCode 1147 解題筆記:從兩端同時往內累積字串,左右一相等就切成一對;越早切越好,剩下的中間(如果有)算一塊
LeetCode 1727: Largest Submatrix With Rearrangements
·1 分鐘
LeetCode Medium Greedy Sorting Matrix
LeetCode 1727 解題筆記:每列算出往上連續 1 的高度,欄可以重排,所以把高度由大到小排序,第 j 高乘上 j + 1
LeetCode 1833: Maximum Ice Cream Bars
·1 分鐘
LeetCode Medium Greedy Sorting Counting-Sort
LeetCode 1833 解題筆記:從最便宜的開始買;題目要求計數排序,值域只有 10^5,每個價格一次買 min(數量, 錢 // 價格) 個
LeetCode 3961: Maximize Sum of Device Ratings
·1 分鐘
LeetCode Medium Greedy Sorting Matrix
LeetCode 3961 解題筆記:除了一台以外,每台把最小的單位捐給同一台;那台的評分變成全域最小值,挑第二小值最小的那台當接收者
LeetCode 3952: Maximum Total Value of Covered Indices
·1 分鐘
LeetCode Medium Dynamic-Programming State-Machine Greedy String
LeetCode 3952 解題筆記:每個代幣只能往左移一格,狀態是「這格的代幣有沒有往左移」;往左移只有在左邊那格原本沒被蓋住時才有用