AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P3208. 最小矩阵宽度

中等通过率 45% · 提交 1,144 · 通过 514
滑动窗口哈希表贪心不定滑窗

给定一个矩阵,包含N*M个整数,和一个包含K个整数的数组现在要求在这个矩阵中找一个宽度最小的子矩阵,要求子矩阵包含数组中所有的整数。

输入描述

<p> 第一行输入两个正整数N,M,表示矩阵大小。 </p> <p> 接下来N行M列表示矩阵内容。下一行包含一个正整数K。 </p> <p> 下一行包含K个整数,表示所需包含的数组,K个整数可能存在重复数字。 </p> <p> 所有输入数据小于1000。 </p>

输出描述

输出包含一个整数,表示满足要求子矩阵的最小宽度,若找不到,输出-1

示例

示例 1

输入

2 5
1 2 2 3 1
2 3 2 3 2
3
1 2 3

输出

2

时间限制 1000 ms · 内存限制 128 MB

写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「最小矩阵宽度」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。