当前位置: 首页 > news >正文

239 滑动窗口最大值

题目

给你一个整数数组 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]

思路

维护一个单调递减的双向队列,在窗口尾将新元素与双向队列尾的元素大小对比,如果新元素大于队尾元素,将其弹出,并继续检查,直到队尾元素较大或者队列为空。这个双向队列头的元素即为窗口的最大元素。移动窗口,检查双向队头元素的序列是否为窗口外的序列,直到所有元素均为窗口内的序列。然后继续维护单调递减的双向队列。

代码

class Solution{public: vector<int>maxSlidingWindow(vector<int>&nums, int k){deque<int>dq;vector<int>res;for(int i=0;i<k;i++){while(!dq.empty()&&nums[i]>nums[dq.back()]){dq.pop_back();}dq.push_back(i);}res.push_back(nums[dq.front()]);for(int r=k;r<nums.size();r++){while(!dq.empty()&&dq.front()<r - k +1){dq.pop_front();}while(!dq.empty()&&nums[r]>nums[dq.back()]){dq.pop_back();}dq.push_back(r);res.push_back(nums[dq.front()]);}returnres;}};

注意:每次进行队列弹出的时候需要检查队列是否为空,否则会报错。双向队列里面的元素为nums的序列,便于检查元素是否在滑动窗口内。

感谢 波波微课的LeetCode Hot 100
感谢 感谢 华南溜达虎 力扣 blind75 指导

http://www.jsqmd.com/news/491530/

相关文章:

  • gpt-claude-gemini稳定api代理
  • 进程间通信(IPC)- 管道专题学习笔记
  • 小白从零开始勇闯人工智能:LangChain 入门指南(下)
  • GoChatIAI -Go语言AI应用服务平台(3)
  • 酒店地毯供应商实力评测及选购指南 - 优质品牌商家
  • 6款思维导图软件深度评测:协作、AI能力与工具选型对比
  • 基于javaweb和mysql的ssm酒吧后台管理系统(java+ssm+jsp+html+mysql)
  • ToB/ToC 前端开发:程序员选赛道必看!从业务本质到技术选型,避开高频坑
  • 2026大型集团资产管理系统选型指南:五大主流平台深度解析与推荐 - 品牌2026
  • 计算机毕业设计之springboot疫情背景下光明小区管理系统的设计与实现
  • 国产替代:福尔蒂vs利安隆/金发/普立万在阻燃PC母粒的技术代差与应用边界
  • buuctf BabyUpload
  • 以太坊 vs Polkadot 预编译合约对比 | 同样的入口,完全不同的能力边界
  • 题目2281:蓝桥杯2018年第九届真题-次数差
  • Windows 10系统盘制作(纯净版)
  • 具身智能中的VLA基础概念
  • 【Spring框架】别再死记硬背!AOP 原来这么简单
  • 回归实战2
  • 一次试样失败催生的技术革新:福尔蒂吹瓶专用ACR助剂逆向推演与流变拟合
  • 半监督食物图像分类项目
  • 国内首个,面向中小企业数据资产估值体系:“荟宸信科面向中小企业数据资产估值体系”正式发布(一)
  • iPhone开发 - %1$、%2$的写法
  • 就让我们从react的渲染逻辑出发吧
  • WordPress报错:preg_match() Compilation failed 错误解决方法
  • 【跨端技术ReactNative】JavaScript学习
  • 长亭 Xray Web 漏洞扫描器
  • 行业大咖谈数据资产|中海油如何规划数据资产管理?央企硬核实践拆解
  • 湘潭品牌设计公司权威推荐榜单
  • 零/负电价来了!储能业主如何抓住机遇?
  • 中小企业可用福尔蒂轻量化改性套件:含17种PA6/PBT配比+免费云端模拟