[leetcode]480. Sliding Window Median
来源:互联网 发布:在英国怎么淘宝购物 编辑:程序博客网 时间:2024/05/17 04:21
题目链接:https://leetcode.com/problems/sliding-window-median/description/
Median is the middle value in an ordered integer list. If the size of the list is even, there is no middle value. So the median is the mean of the two middle value.
Examples:[2,3,4]
, the median is 3
[2,3]
, the median is (2 + 3) / 2 = 2.5
Given an array nums, there is a sliding window of size k which is moving from the very left of the array to the very right. You can only see the k numbers in the window. Each time the sliding window moves right by one position. Your job is to output the median array for each window in the original array.
For example,
Given nums = [1,3,-1,-3,5,3,6,7]
, and k = 3.
Window position Median--------------- -----[1 3 -1] -3 5 3 6 7 1 1 [3 -1 -3] 5 3 6 7 -1 1 3 [-1 -3 5] 3 6 7 -1 1 3 -1 [-3 5 3] 6 7 3 1 3 -1 -3 [5 3 6] 7 5 1 3 -1 -3 5 [3 6 7] 6
Therefore, return the median sliding window as [1,-1,-1,3,5,6]
.
Note:
You may assume k
is always valid, ie: k
is always smaller than input array's size for non-empty array.
class Solution {public: vector<double> medianSlidingWindow(vector<int>& nums, int k) { multiset<int> window(nums.begin(),nums.begin()+k); vector<double> medians; for(int i=k;i<=nums.size();i++) { auto mid=next(window.begin(),k/2); medians.push_back((double(*mid)+*prev(mid,1-k%2))/2); if(i==nums.size()) return medians; window.insert(nums[i]); window.erase(window.lower_bound(nums[i-k])); } return medians; }};
- LeetCode 480. Sliding Window Median
- [LeetCode]480. Sliding Window Median
- [leetcode]480. Sliding Window Median
- leetcode 480. Sliding Window Median
- [LeetCode] Sliding Window Median
- [Leetcode] 480. Sliding Window Median 解题报告
- 480. Sliding Window Median
- 480. Sliding Window Median
- 480. Sliding Window Median
- leetcode-480-Sliding Window Median
- leetcode 480. Sliding Window Median 滑动窗口中位数
- [LeetCode] Sliding Window Median 滑动窗口中位数
- Leetcode 480. Sliding Window Median 滑动窗口中的中位数 解题报告
- Lintcode 360 Sliding Window Median
- LintCode:H-Sliding Window Median
- leetcode Sliding Window Maximum
- [LeetCode]Sliding Window Maximum
- leetcode - Sliding Window Maximum
- 【Unity】【C#】【Code】List示例代码
- Intersection of Two Arrays II--求交集
- iput利用正则表达式动态监控数据实现输入金额(限制整数输入位数和两位小数)
- java数据结构与算法-简单排序-选择排序
- putback()
- [leetcode]480. Sliding Window Median
- 进程间通信之消息队列
- Java:final关键字 详解
- jQuery中$.ajax()的get 方法
- 免押金渠道上线后产生bug
- hdu1556 Color the ball 线段树
- 回型取数
- groovy 字符串和循环基础
- Git+IDEA