力扣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;
	}

}
相关推荐
oak隔壁找我1 小时前
JVM常用调优参数
java·后端
蝎子莱莱爱打怪5 小时前
OpenClaw 从零配置指南:接入飞书 + 常用命令 + 原理图解
java·后端·ai编程
狼爷7 小时前
Go 没有 override?别硬套继承!用接口+嵌入,写更清爽的“覆盖”逻辑
java·go
会员源码网8 小时前
使用`mysql_*`废弃函数(PHP7+完全移除,导致代码无法运行)
后端·算法
木心月转码ing9 小时前
Hot100-Day10-T438T438找到字符串中所有字母异位词
算法
小兔崽子去哪了9 小时前
Java 自动化部署
java·后端
ma_king9 小时前
入门 java 和 数据库
java·数据库·后端
后端AI实验室9 小时前
我用Cursor开发了3个月,整理出这套提效4倍的工作流
java·ai
HelloReader10 小时前
Wi-Fi CSI 感知技术用无线信号“看见“室内的人
算法
颜酱12 小时前
二叉树分解问题思路解题模式
javascript·后端·算法