news 2026/4/18 7:03:45

hot100 239.滑动窗口最大值

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
hot100 239.滑动窗口最大值

思路:利用单调队列维护滑动窗口。

1.右边入(元素进入队尾,同时维护队列的单调性)。

2.左边出(元素离开队首)。

3.记录/维护答案(根据队首)。

为什么代码中的队首离开窗口写的是if而不是while?

答:

这是因为窗口在一步一步地向右滑动(像只蜗牛),所以元素也是一个一个地离开窗口,不会出现同一轮循环中有多个元素离开窗口的情况。

附代码:

class Solution { public int[] maxSlidingWindow(int[] nums, int k) { int n = nums.length; int[] res = new int[n - k + 1]; //窗口个数 LinkedList<Integer> queue = new LinkedList<>(); for(int i = 0;i < n;i++){ //1.右边入 while(!queue.isEmpty() && nums[queue.getLast()] < nums[i]){ queue.removeLast(); //移除所有比当前元素小的元素,确保队列中的元素是单调递减的 } queue.addLast(i); //注意保存的是下标,这样下面可以判断队首是否离开窗口 //2.左边出(移除过期元素) int left = i - k + 1; //窗口左端点 if(queue.getFirst() < left){ //队首元素已不在窗口中,移除过期的队首元素 queue.removeFirst(); } //3.在窗口的左端点处记录答案 if(left >= 0){ //由于队首到队尾单调递减,所以窗口的最大值就在队首 res[left] = nums[queue.getFirst()]; } } return res; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 20:21:51

Swift高性能计算终极指南:Surge库完整使用手册

Swift高性能计算终极指南&#xff1a;Surge库完整使用手册 【免费下载链接】Surge A Swift library that uses the Accelerate framework to provide high-performance functions for matrix math, digital signal processing, and image manipulation. 项目地址: https://gi…

作者头像 李华
网站建设 2026/4/16 18:20:51

49、多线程编程入门指南

多线程编程入门指南 1. 多线程编程背景 在2004年之前,提升计算机性能主要依靠提高单个处理器的能力。然而,当前硅微芯片技术的物理限制阻碍了单处理器性能的进一步提升,计算能力与散热的阈值趋于稳定,甚至出现了性能平台期和小幅度的回落。 尽管如此,计算机性能仍在持续…

作者头像 李华
网站建设 2026/4/16 17:38:55

57、平台互操作性与不安全代码深度解析

平台互操作性与不安全代码深度解析 1. 平台调用(P/Invoke)基础 在进行平台调用时, VirtualProtectEx 函数是一个重要的例子。其声明如下: static extern bool VirtualProtectEx(IntPtr hProcess, IntPtr lpAddress,IntPtr dwSize, uint flNewProtect,ref uint lpflOl…

作者头像 李华
网站建设 2026/4/15 21:20:04

Langchain-Chatchat网络安全知识检索系统搭建

Langchain-Chatchat网络安全知识检索系统搭建 在当今企业数字化进程不断加速的背景下&#xff0c;安全团队每天面对海量的非结构化文档&#xff1a;从等保合规条款、漏洞修复指南到内部应急响应流程。当一次突发网络攻击发生时&#xff0c;运维人员最怕听到的一句话是&#xff…

作者头像 李华
网站建设 2026/4/14 20:50:02

19、电子商务与内容管理服务器技术解析

电子商务与内容管理服务器技术解析 在当今数字化的商业环境中,电子商务和内容管理是企业网站运营的重要组成部分。下面将详细介绍电子商务服务器(Commerce Server)和内容管理服务器(Content Management Server)的相关内容。 电子商务服务器在企业对消费者应用中的作用 …

作者头像 李华
网站建设 2026/4/17 10:28:51

26、企业网络安全与服务架构深度解析

企业网络安全与服务架构深度解析 1. ISA 服务器的策略配置 在企业网络环境中,ISA 服务器的企业策略和阵列策略起着关键作用。企业策略通常在组织的总部级别进行配置,可应用于任意或所有阵列;而阵列策略在分支级别配置,可继承企业策略。对于给定的阵列,用户可以选择应用企…

作者头像 李华