We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent bc3078c commit 2f2eee8Copy full SHA for 2f2eee8
Sliding_Window_Median.cpp
@@ -0,0 +1,22 @@
1
+class Solution {
2
+public:
3
+ vector<double> medianSlidingWindow(vector<int>& nums, int k) {
4
+ multiset<int> window(nums.begin(), nums.begin() + k);
5
+ auto mid = next(window.begin(), k / 2);
6
+ vector<double> medians;
7
+ medians.push_back((double(*mid) + *next(mid, k % 2 - 1)) / 2);
8
+ for (int i=k; i < (int)nums.size(); i++) {
9
+ window.insert(nums[i]);
10
+ if(nums[i] < *mid) {
11
+ mid--;
12
+ }
13
+ if(nums[i - k] <= *mid) {
14
+ mid++;
15
16
+ window.erase(window.lower_bound(nums[i - k]));
17
18
19
+
20
+ return medians;
21
22
+};
0 commit comments