当前位置: 首页 > news >正文

MT3047 区间最大值

思路:

使用哈希表map和set(去重)维护序列

代码:

#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int n, k, A[N];
map<int, int> mp; // 元素出现的次数
set<int> s;       // 维护出现次数为1的元素
int main()
{cin >> n >> k;for (int i = 1; i <= n; i++)cin >> A[i];// 扫描第一个长度为k的区间:for (int i = 1; i <= k; i++)mp[A[i]]++;for (int i = 1; i <= k; i++){if (mp[A[i]] == 1)s.insert(A[i]);}if (s.empty())cout << "-1"<<" ";else{cout << *s.rbegin() << " "; // 输出最大值}// 扫描后面的区间(每次出去一个元素a,进来一个元素b)for (int i = k + 1; i <= n; i++){if (mp[A[i - k]] == 1) // 要出去的元素a出现次数为1{s.erase(A[i - k]); // 从set中删除a}if (mp[A[i - k]] == 2) // 要出去的元素a出现次数为1{s.insert(A[i - k]); // a出去后,次数变为1.加入set}mp[A[i - k]]--;if (mp[A[i]] == 0) // b次数为0,加入后=1,所以加入set{s.insert(A[i]);}if (mp[A[i]] == 1) // b次数为1,加入后=2,所以从set中删除{s.erase(A[i]);}mp[A[i]]++;if (s.empty())cout << "-1 ";elsecout << *s.rbegin() << " "; // 输出最大值}return 0;
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 百元平价蓝牙耳机哪款好?平价高性价比蓝牙耳机推荐
  • 新书速览|HTML5+CSS3 Web前端开发与实例教程:微课视频版
  • 【C++初阶】C++入门(下)
  • 学圣学最终的目的是:达到思无邪的状态( 纯粹、思想纯正、积极向上 )
  • Scala 数据类型
  • 香橙派5plus上跑云手机方案二 waydroid
  • 【cocos2dx】【iOS工程】如何保存用户在游戏内的绘画数据,并将数据以图像形式展示在预览界面
  • 底软基础 | 嵌入式程序员编程必看的525钟C/C++ 安全编程问题
  • 联想拯救者Y7000 IRX9 笔记本接口功能介绍
  • 一文实践强化学习训练游戏ai--doom枪战游戏实践
  • 网络安全----防御----防火墙安全策略组网
  • 设计模式之外观模式(Facade)
  • Grind 75 | 3. merge two sorted lists
  • 二、分布式软总线是如何高效的传输数据和任务的
  • 案例开发-日程管理-第一期
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • 【comparator, comparable】小总结
  • angular学习第一篇-----环境搭建
  • Git同步原始仓库到Fork仓库中
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • Theano - 导数
  • vagrant 添加本地 box 安装 laravel homestead
  • 测试开发系类之接口自动化测试
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 你真的知道 == 和 equals 的区别吗?
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 区块链分支循环
  • 如何用vue打造一个移动端音乐播放器
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • Java数据解析之JSON
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #14vue3生成表单并跳转到外部地址的方式
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (学习总结16)C++模版2
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)创业家杂志:UCWEB天使第一步
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • ... 是什么 ?... 有什么用处?
  • .equals()到底是什么意思?
  • .gitignore文件—git忽略文件
  • .NET Core 发展历程和版本迭代
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • 。。。。。
  • [ 云计算 | Azure 实践 ] 在 Azure 门户中创建 VM 虚拟机并进行验证
  • [@Controller]4 详解@ModelAttribute
  • [20160807][系统设计的三次迭代]
  • [AIGC] Nacos:一个简单 yet powerful 的配置中心和服务注册中心
  • [AIGC] 深入浅出 Python中的`enumerate`函数
  • [Android] Implementation vs API dependency