
力扣239. 滑动窗口最大值
发布日期:2021-05-08 02:15:05
浏览次数:9
分类:精选文章
本文共 1046 字,大约阅读时间需要 3 分钟。
给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。
返回滑动窗口中的最大值。
示例 1:
输入:nums = [1,3,-1,-3,5,3,6,7], k = 3
输出:[3,3,5,5,6,7] 解释:滑动窗口的位置 最大值--------------- -----[1 3 -1] -3 5 3 6 7 3 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 5 1 3 -1 -3 [5 3 6] 7 6 1 3 -1 -3 5 [3 6 7] 7
示例 2:
输入:nums = [1], k = 1
输出:[1] 示例 3:输入:nums = [1,-1], k = 1
输出:[1,-1] 示例 4:优先队列
class Solution { public: vector maxSlidingWindow(vector & nums, int k) { int n = nums.size(); priority_queue> q; for (int i = 0; i < k; ++i) { q.emplace(nums[i], i); } vector ans = { q.top().first}; for (int i = k; i < n; ++i) { q.emplace(nums[i], i); while (q.top().second <= i - k) { q.pop(); } ans.push_back(q.top().first); } return ans; }};
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月05日 07时38分56秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
关于js中对于Promise的深入理解
2019-03-05
对于js中的this指向的深入理解
2019-03-05
杭电 2007 平方和与立方和(输入数据的大小顺序并不能默认)
2019-03-05
十大排序算法之三:插入排序(Python)
2019-03-05
利用Python实现循环队列
2019-03-05
十大排序算法之四:希尔排序(Python)
2019-03-05
利用递归实现二叉树的前中后序遍历(Python)
2019-03-05
A*寻路算法(Python)
2019-03-05
Python刷题输入输出
2019-03-05
冒泡排序又来啦(C/C++版本)
2019-03-05
python负数存储
2019-03-05
求二维数组中最大值的位置
2019-03-05
python中sort和sorted的区别
2019-03-05
防碰撞算法
2019-03-05
在vue中添加echarts
2019-03-05
vue中echart数据动态切换,一看就懂
2019-03-05
Python实现理解树,树的遍历,二分查找
2019-03-05
Python3.6爬虫记录
2019-03-05
搞清楚Spring Cloud架构原理的这4个点,轻松应对面试
2019-03-05
1月份2月份GitHub上最热门的23个Java开源项目
2019-03-05