news 2026/8/12 17:52:40

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/8/12 5:01:42

Langchain-Chatchat交互式应用安全测试(IAST)知识库

Langchain-Chatchat 构建 IAST 知识库的技术实践 在金融、医疗和政企系统中&#xff0c;安全文档的管理和利用始终是一大难题。渗透测试报告、合规规范、漏洞修复指南往往以非结构化形式分散在多个PDF或内部Wiki中&#xff0c;当开发人员需要快速获取某项安全建议时&#xff0c…

作者头像 李华
网站建设 2026/8/11 11:41:59

54、多线程编程中的同步、存储与异步模式解析

多线程编程中的同步、存储与异步模式解析 线程本地存储 在多线程编程中,同步锁的使用有时会带来性能和可扩展性方面的问题。例如在某些情况下,为特定数据元素提供同步可能过于复杂,尤其是在原始代码编写完成后再添加同步逻辑时。此时,隔离是一种替代同步的解决方案,而线…

作者头像 李华
网站建设 2026/8/11 0:46:02

终极Open3D轨迹平滑指南:告别抖动,实现丝滑三维重建

在三维重建和机器人导航的实际应用中&#xff0c;相机轨迹的平滑性往往决定着最终成果的质量。无论是SLAM系统采集的原始路径&#xff0c;还是多视角重建中的相机位姿序列&#xff0c;都可能因为传感器噪声、算法误差或环境干扰而产生抖动。这不仅影响视觉效果&#xff0c;更可…

作者头像 李华
网站建设 2026/8/10 18:19:37

Langchain-Chatchat分类目录组织方式:结构化知识管理

Langchain-Chatchat分类目录组织方式&#xff1a;结构化知识管理 在企业数字化转型的浪潮中&#xff0c;一个看似简单却日益棘手的问题正不断浮现&#xff1a;员工花太多时间找信息&#xff0c;而不是用信息。一份新员工入职三天才搞明白年假政策&#xff1b;一位技术支持反复翻…

作者头像 李华
网站建设 2026/8/11 18:37:53

Langchain-Chatchat Web应用防火墙(WAF)配置问答系统

Langchain-Chatchat Web应用防火墙&#xff08;WAF&#xff09;配置问答系统 在企业加速数字化转型的今天&#xff0c;越来越多组织开始部署基于大语言模型的知识问答系统&#xff0c;以提升内部信息获取效率。然而&#xff0c;一个普遍被忽视的问题是&#xff1a;当这类系统暴…

作者头像 李华
网站建设 2026/8/11 9:54:04

终极Mender OTA更新管理器完整使用指南:从零到安全部署

终极Mender OTA更新管理器完整使用指南&#xff1a;从零到安全部署 【免费下载链接】mender Mender over-the-air software updater client. 项目地址: https://gitcode.com/gh_mirrors/me/mender Mender是一个强大的开源OTA更新管理器&#xff0c;专为嵌入式Linux和IoT…

作者头像 李华