↓快轉到主要內容

LeetCode

LeetCode 3325: Count Substrings With K-Frequency Characters I
·1 分鐘
LeetCode Medium Sliding-Window Hash-Table String
LeetCode 3325 解題筆記:「至少一個字元出現 k 次」的計數視窗;剛加入的字元湊滿 k 次就一直縮,縮到它變成 k - 1 次為止
LeetCode 2962: Count Subarrays Where Max Element Appears at Least K Times
·1 分鐘
LeetCode Medium Sliding-Window Array
LeetCode 2962 解題筆記:「至少 k 次」的計數視窗:最大值出現 k 次時一直縮左邊,縮完後左端在 [0, left) 的子陣列都合法,count += left
LeetCode 2762: Continuous Subarrays
·1 分鐘
LeetCode Medium Sliding-Window Monotonic-Queue
LeetCode 2762 解題筆記:滑動窗口加兩個單調隊列,隨時拿到窗口的最大值和最小值
LeetCode 1358: Number of Substrings Containing All Three Characters
·1 分鐘
LeetCode Medium Sliding-Window Hash-Table String
LeetCode 1358 解題筆記:「至少各一個 a、b、c」的計數視窗:三種都有時一直縮左邊,count += left
LeetCode 632: Smallest Range Covering Elements from K Lists
·2 分鐘
LeetCode Hard Heap K-Way-Merge Sliding-Window
LeetCode 632 解題筆記:heap 放每條 list 的目前元素,同時記錄最大值,每次推進最小的那條
LeetCode 3816: Lexicographically Smallest String After Deleting Duplicate Characters
·1 分鐘
LeetCode Hard Stack Monotonic-Stack Greedy String
LeetCode 3816 解題筆記:單調棧,頂端比較大而且還有別的副本就刪;最後把尾巴重複的也刪掉,因為前綴一定比較小
LeetCode 3815: Design Auction System
·2 分鐘
LeetCode Medium Heap Design Hash-Map Lazy-Deletion
LeetCode 3815 解題筆記:每個商品一個 max-heap,出價改變就推新的一筆,查詢時丟掉過期的
LeetCode 3814: Maximum Capacity Within Budget
·1 分鐘
LeetCode Medium Binary-Search Sorting Prefix-Sum
LeetCode 3814 解題筆記:依成本排序加上前綴最大容量,每台機器用 bisect 找能搭配的最貴機器
LeetCode 3813: Vowel-Consonant Score
·1 分鐘
LeetCode Easy String Simulation
LeetCode 3813 解題筆記:只數字母,分成母音和子音;子音是 0 時分數是 0,否則用整數除法
LeetCode 3258: Count Substrings That Satisfy K-Constraint I
·1 分鐘
LeetCode Easy Sliding-Window String
LeetCode 3258 解題筆記:0 的個數 <= k 或 1 的個數 <= k;兩個都超過才不合法,縮左邊後以 right 結尾的合法子字串有 right - left + 1 個
LeetCode 2968: Apply Operations to Maximize Frequency Score
·1 分鐘
LeetCode Hard Sliding-Window Sorting Prefix-Sum Binary-Search Array
LeetCode 2968 解題筆記:排序後,把一段全部變成同一個值,最省的目標是中位數;用前綴和 O(1) 算花費,花費隨視窗變大而變大,可以滑動
LeetCode 2904: Shortest and Lexicographically Smallest Beautiful String
·1 分鐘
LeetCode Medium Sliding-Window String
LeetCode 2904 解題筆記:視窗裡剛好 k 個 1 時,把左邊的 0 也縮掉,得到以 right 結尾最短的美麗子字串;先比長度再比字典序