力扣hot100 滑动窗口最大值 单调队列

👨‍🏫 题目地址

🍻 AC code

java 复制代码
class Solution {
    public int[] maxSlidingWindow(int[] nums, int k)
	{
		int n = nums.length;
		int[] res = new int[n - k + 1];
//		单调递减队列
		int[] q = new int[n];// q数组维护的是元素在 nums 数组对应的下标
		int h = 0, t = -1;

		for (int i = 0; i < n; i++)// 枚举每一个窗口
		{
			if (h <= t && i - k + 1 > q[h])// 队头滑出窗口
				h++;

			while (h <= t && nums[q[t]] <= nums[i])// 处理新元素,维持队列单调递减
				t--;
			q[++t] = i;//新元素入队
			if (i >= k - 1)//窗口大小达到k才记录答案
				res[i - k + 1] = nums[q[h]];
		}
		return res;
	}

}
相关推荐
GG.WinGel10 小时前
三元组中心问题
java·数据结构·算法·青少年编程·蓝桥杯
vailee10 小时前
42 万字符的工具输出压进 6,945 token:Agent 长会话的上下文治理实践
java·大数据·人工智能·prompt工程·rag·上下文管理
开开心心就好10 小时前
电脑小说阅读器,支持朗读和自定义皮肤
服务器·开发语言·javascript·算法·pdf·c#·音视频
weixin_4487717210 小时前
Spring框架之ConfigurableApplicationContext源码学习
java·spring
无巧不成书021810 小时前
Tomcat部署JSP文件完整指南:手动部署+IDEA工程化实现 附404访问错误全排查
java·ide·windows·tomcat·intellij-idea·js
曹牧10 小时前
Eclipse:Subclipse
java·ide·eclipse
weixin_4487717210 小时前
Spring框架之ApplicationContext源码学习
java·学习·spring
闻缺陷则喜何志丹10 小时前
【c++20】协程与屏障
c++·算法·c++20·携程·屏障
erzong23110 小时前
Linux操作系统:线程池&踩坑修复
linux·运维·算法
白露与泡影10 小时前
Spring AI Alibaba -- 文生图、文生音及向量化
java·人工智能·spring