最小矩阵宽度 - 华为OD统一考试

发布时间:2024年01月16日

OD统一考试(C卷)

分值: 200分

题解: Java / Python / C++

alt

题目描述

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

输入描述

第一行输入两个正整数 N, M 表示矩阵大小。

接下来 N 行 M列表示矩阵内容。

下一行包含一个正整数K。

下一行包含K个整数,表示所需包含的数组,K个整数可能存在重复数字, 所有输入数据小于 1000。

输出描述

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

示例1

输入:
2 5
1 2 2 3 1
2 3 2 3 2
3
1 2 3

输出:
2

说明:
短阵第0、3列包含了1、2、3,短阵第3、4列包含了1、2、3

示例2

输入:
2 5
1 2 2 3 1
1 3 2 3 4
3
1 1 4

输出:
5

说明:
短阵第1、2、3、4、5列包含了1、1、4

题解<

文章来源:https://blog.csdn.net/user_longling/article/details/135626995
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。