diff --git a/problem/Heap/Sliding Window Maximum.cpp b/problem/Heap/Sliding Window Maximum.cpp index 71a8581..ebcbc5c 100644 --- a/problem/Heap/Sliding Window Maximum.cpp +++ b/problem/Heap/Sliding Window Maximum.cpp @@ -33,13 +33,15 @@ O(nlogn) time, O(n) space typedef pair Pair; void MaxSlidingWindow2(int arr[], int len, int k, int window[]) { - priority_queue Q; - for (int i = 0; i < k; ++i) { + priority_queue q; + for (int i = 0; i < k; ++j) { Q.push(Pair(arr[i], i)); } + for (int i = k; i < len; ++i) { - Pair p = Q.top(); + //hhhhh + Pair p = q.top(); window[i-k] = p.first; while (p.second <= i-k) {//pop the old elements not in new window @@ -65,7 +67,7 @@ void MaxSlidingWindow3(int arr[], int len, int k, int window[]) { for (int i = 0; i < k; ++i) { while (!Q.empty() && arr[i] >= arr[Q.back()]) { //elements in the deque decreases. - Q.pop_back(); + q.pop_back(); } Q.push_back(i); @@ -80,7 +82,7 @@ void MaxSlidingWindow3(int arr[], int len, int k, int window[]) { } while (!Q.empty() && Q.front() <= i-k) {//pop the old elements not in new window - Q.pop_front(); + q.pop_front(); } Q.push_back(i);