https://leetcode.com/problems/minimum-window-substring/ https://leetcode.com/problems/longest-substring-without-repeating-characters/ https://leetcode.com/problems/substring-with-concatenation-of-all-words/ https://leetcode.com/problems/longest-substring-with-at-most-two-distinct-characters/ https:/...
🐣 Sliding Window Median, Find the Median of a Number Stream, etc. 🎭 PsuendoCode Two Heaps Pattern 📦📦 let maxHeap = new MaxHeap(); let minHeap = new MinHeap(); for (num of nums) { if (maxHeap.isEmpty() || num <= maxHeap.peek()) { maxHeap.push(num); } else {...
nums = [1,3,-1,-3,5,3,6,7] k = 3 -> [3,3,5,5,6,7] Sliding window deque, ensure monotonic decr, leftmost largest Time: O(n) Space: O(n) */ class Solution { public: vector<int> maxSlidingWindow(vector<int>& nums, int k) { deque<int> dq; vector<int> result; int ...
self.queue = [] def push(self,x): while self.queue and x > self.queue[-1]: self.queue.pop() self.queue.append(x) def pop(self,x): if x == self.queue[0]: self.queue.pop(0) def front(self): return self.queue[0] class Solution: def maxSlidingWindow(self, nums: List[int]...