滑动窗口模板(Java)

devtools/2024/9/22 11:11:56/

题目描述
有一个长为 𝑛 的序列 𝑎,以及一个大小为 𝑘 的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。

例如,对于序列 [1,3,−1,−3,5,3,6,7] 以及 𝑘=3,有如下过程:

输入格式
输入一共有两行,第一行有两个正整数 𝑛,𝑘。 第二行 𝑛 个整数,表示序列 𝑎

输出格式
输出共两行,第一行为每次窗口滑动的最小值
第二行为每次窗口滑动的最大值

代码:

java">package lanqiao;import java.util.*;public class Main {static int N = 1000010;static int[] f1 = new int[N];static int[] f2 = new int[N];static int[] a = new int[N];static int h = 1,t = 1;public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int k = sc.nextInt();for(int i = 1;i <= n;i ++){a[i] = sc.nextInt();}//求最小值f1[1] = 1;for(int i = 1;i <= n;i ++){if(f1[h] <= i - k) h ++;while(t >= h && a[f1[t]] >= a[i]) t --;f1[++t] = i;if(i >= k){System.out.print(a[f1[h]] + " ");}}System.out.println();//求最大值f2[1] = 1;for(int i = 1;i <= n;i ++){if(f2[h] <= i - k) h ++;while(t >= h && a[f2[t]] <= a[i]) t--;f2[++t] = i;if(i >= k){System.out.print(a[f2[h]] + " ");}}}
}


http://www.ppmy.cn/devtools/44500.html

相关文章

军工行业运维解决方案

一、引言 随着军工行业的快速发展&#xff0c;信息化建设已成为提高作战效能、保障信息安全的重要支撑。然而&#xff0c;军工行业面临着多战区、跨区域、多阵地、多数据中心的复杂运维挑战。为了满足这些挑战&#xff0c;我们提出了一套基于美信时代的军工行业运维解决方案&am…

java小技能: 数字和字母组合的验证码图片(生成验证码字符并加上噪点,干扰线)

文章目录 引言I 验证码的作用1.1 验证使用计算机的是一个人,而非计算机程序。1.2 提供一个很短的时间窗的一次性密码。II 数字和字母组合的验证码图片2.1 获取验证码图片2.2 生成验证码字符并加上噪点,干扰线see also引言 世界上没有绝对的信息安全,但是有防范得好和坏的分…

人脸识别--DeepFace(五)

DeepFace 是由 Facebook 于 2014 年开发的一种深度学习模型&#xff0c;用于人脸识别和验证。它是当时最先进的人脸识别系统之一&#xff0c;展示了深度学习在计算机视觉任务中的巨大潜力。DeepFace 的主要贡献在于它使用了深度卷积神经网络&#xff08;CNN&#xff09;来学习人…

【AHK V2】设计模式之命令模式

目录 情景剧场什么是命令模式优缺点优点缺点 使用命令模式的步骤命令模式代码示例合理使用AI工具自动生成代码 情景剧场 我们来设想一个场景&#xff1a; 你进入一家餐馆&#xff0c;餐馆只有老板一个人&#xff08;老板即厨师&#xff09;。 “老板&#xff0c;一份小炒肉&am…

QWidget For Android之QDialog中QLineEdit无法编辑问题

项目场景&#xff1a; QWidget For Android 问题描述 QDialog打开对话框时&#xff0c;QLineEdit输入框无法输入 this->setWindowFlags(Qt::FramelessWindowHint | Qt::Tool | Qt::WindowStaysOnTopHint);this->setAttribute(Qt::WA_TranslucentBackground);原因分析&a…

51单片机学习(4)3-1 独立按键控制LED亮灭

#include<REGX52.H> void main() { //P20xFE; P2_01; while(1) { if(P3_10) { P2_00&#xff1b; } else { P2_01&#xff1b; } } }

WordPress外贸网站建设的成功要素与技术点

WordPress作为一款强大的建站平台&#xff0c;为外贸企业提供了丰富的功能和灵活的定制选项。在这篇文章中&#xff0c;我们将揭示一些成功建站的秘笈&#xff0c;涵盖了WordPress外贸网站建设中的关键要素和技术点&#xff0c;帮助您打造一个引领行业的成功网站。 1. 选择合适…

Oracle数据库之事务(十四)

在Oracle数据库中&#xff0c;事务是工作的逻辑单元&#xff0c;用于确保数据的一致性和完整性。以下是对Oracle事务的详细解释&#xff1a; 1. 定义 事务&#xff1a;在数据库中&#xff0c;事务是由一个或多个SQL语句组成的逻辑单元&#xff0c;这些语句共同完成一组相关的…