23| 画展

代码实现

cpp 复制代码
const int N = 1e6 + 10;
int n, m; 
int a[N], mp[N], kind, cost, ret;

int main()
{
	cin >> n >> m;
	for (int i = 1; i <= n; i++) cin >> a[i];
	int l = 1, r = 1;
	cost = n, ret = 1;
	while(r <= n)
	{
		// 进窗口
		mp[a[r]]++;
		if (mp[a[r]] == 1) kind++;
		
		while(kind == m)
		{
			// 更新结果
			int tmp = r - l + 1; 
			if (tmp < cost)
			{
				ret = l;
				cost = tmp;
			}
			// 出窗口
			mp[a[l]]--;
			if(mp[a[l]] == 0) kind--;
			l++;
		 } 
		 
		 r++;
	}
	cout << ret << " " << ret + cost -1 << endl;
	return 0;
}
相关推荐
程序员大雄学编程25 分钟前
微积分46. 无穷级数四大核心性质:从理论到实践的全方位解析
python·学习·微积分·学习工具
203号居民1 小时前
LeetCode hot 100 — 141. 环形链表2
算法·leetcode·链表
玖玥拾2 小时前
LeetCode 202 快乐数
算法·leetcode
LuminousCPP2 小时前
数据结构-二叉树(六):BFS层序遍历与完全二叉树判断|复用链式队列 + (N_0=N_2+1) 性质证明
c语言·数据结构·笔记·算法·二叉树·宽度优先
指针常量2 小时前
【RL系列文章】难样本学习等
学习·大语言模型·rl·后训练
ZhouDevin3 小时前
算法论文/数据集3——CLD(TMLR2025)压缩训练集,仅保留对验证集有益的样本
人工智能·深度学习·算法·计算机视觉
码匠许师傅3 小时前
【设计模式精讲】14.外观模式(Facade)
c++·设计模式·uml·外观模式
wuyk5553 小时前
从零吃透Modbus通信|第7章:终极工程整合(模块化架构、双模式主机从机、RTOS适配、量产级模板)
c语言·stm32·学习·架构
Tim_103 小时前
【LeetCode】29、两数相除
算法·leetcode·职场和发展
船厂电气自动化ai大模型4 小时前
AI大模型与数学/第63课:矩阵定义、矩阵加法、标量乘法(逐级精讲)
数据结构·人工智能·深度学习·线性代数·算法