2024华为OD机试真题-最小矩阵宽度Python-C卷D卷-200分
2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++)
题目描述
给定一个矩阵,包含 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,
所以最小的矩阵宽度由3,4列组成,为2
考点
滑动窗口
代码
python
n,m=list(map(int,input().split()))
mat=[]for i in range(n):row=list(map(int,input().split()))mat.append(row)matr=[] #转置后的矩阵
for i in range(m):tmp=[]for row in mat:tmp.append(row[i])matr.append(tmp)num=int(input())
arr=list(map(int,input().split()))
arr_set=set(arr)
leng=len(arr_set) # 目标集合中的元素个数
tmps=[] #存列中有用的元素left=0
res=m #存最小列数
for right in range(
相关文章:
2024华为OD机试真题-最小矩阵宽度Python-C卷D卷-200分
2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++) 题目描述 给定一个矩阵,包含 N * M 个整数,和一个包含 K 个整数的数组。 现在要求在这个矩阵中找一个宽度最小的子矩阵,要求子矩阵包含数组中所有的整数。 输入描述 第一行输入两个正整数 N,M,表示矩阵大小。 接下来 N …...

【Vue3】标签的 ref 属性
【Vue3】标签的 ref 属性 背景简介开发环境开发步骤及源码 背景 随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗的日子。…...

llama-factory 系列教程 (六),linux shell 脚本自动实现批量大模型的训练、部署与评估
背景 最近在做大模型微调训练的评估,每次都要手动训练大模型,手动评估。 发现这样太浪费时间了,于是就尝试着使用linux shell 脚本,利用 for 循环自动实现大模型的训练、部署与评估。 实验:在不同的文本分类数据集尺…...
python安全脚本编写之流量泛洪
多线程与流量泛洪 并发操作 如果一个单核的cpu,是并不存在严格意义的并发,只是因为处理时间极短,所以感觉上是并发操作的。 针对多核CPU,4核CPU,严格意义上的并发处理是4个 线程和进程 每一个应用程序,至少…...

一文看懂Java反射、注解、UML图和Lambda表达式
反射 定义: 反射是 java 开发语言的特征之一,它允许 java 程序对自身进行检查(自审),并能直接操作程序内部属性,即就是将类中的各种成分映射成一个 java 对象,利用反射技术可以对一个类进行解剖,将各个组成部分映射成…...

【漏洞复现】搜狗输入法简单绕过Windows锁屏机制
免责申明 本公众号的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息…...

JAVA Spring学习Day1
Maven Maven配置: Maven是Java项目的构建工具,使用pom.xml配置文件管理项目依赖、插件和构建目标。Spring Boot项目搭建: Spring Boot是基于Spring框架的快速开发框架,通过约定大于配置的理念简化了Spring应用的搭建和开发。 …...
linux常见面试题(三)
18 什么事SQL注入 由于程序员的水平及经验参差不齐,大部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断。 应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据…...
【JS】ES6新类型Map与Set
一、Map Map 对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者原始值)都可以作为键或值。 描述 Map 对象是键值对的集合。Map 中的一个键只能出现一次;它在 Map 的集合中是独一无二的。 Map 对象按键值对迭代——…...
FETCH FIRST ROW ONLY和 DISTINCT ON和 LIMIT 1的用法
以下是 PostgreSQL 中函数 FETCH FIRST ROW ONLY、DISTINCT ON 和 LIMIT 1 的用法、含义、例子以及适用版本的信息总结: FETCH FIRST ROW ONLY 用法和含义 FETCH FIRST ROW ONLY 用于限制查询结果集,只返回第一行。它可以和 ORDER BY 子句一起使用&am…...
前端小白安装node、vue、Express、Electron及(Electron桌面端exe应用开发)
一、node.js (一)、下载 下载地址 Node.js — 在任何地方运行 JavaScript (nodejs.org) 参考文章:Node.js安装及环境配置超详细教程【Windows系统】_windows 安装nodejs-CSDN博客 (二)、安装 安装路径可以更换&a…...
solidity多态【很重要】
多态是面向对象编程(OOP)的一个核心概念,允许不同类的对象被视为同一类型的实例,并根据实际类型来响应相同的方法调用。 这意味着同一个接口可以用来引用属于不同类的对象,而这些对象可以有自己的方法实现,…...

Jangow-1.0.1靶机漏洞复现(未完成)
首先,这个靶机只能使用VirtualBox打开,靶机下载地址为 https://download.vulnhub.com/jangow/jangow-01-1.0.1.ova 虚拟机软件下载地址为 Download_Old_Builds – Oracle VM VirtualBox 开启靶机后访问ip进入如下页面,点击site进入到一个…...

软件测试--python基础
一、python基础 (1)第一个python (2)python解释器 (3)基础语法 ①字面量 什么是字面量 常用的值类型 字符串 ②注释 ③变量 什么是变量 变量的特征 变量的目的是存储运行过程的数据 存储的目的是为了:重复使用 ④数据类型 type()语句 变量有类型吗?…...

GPIO子系统
1. GPIO子系统视频概述 1.1 GPIO子系统的作用 芯片内部有很多引脚,这些引脚可以接到GPIO模块,也可以接到I2C等模块。 通过Pinctrl子系统来选择引脚的功能(mux function)、配置引脚: 当一个引脚被复用为GPIO功能时,我们可以去设…...

学会这个Python库,接口测试so easy
前言 我们在做接口测试时,大多数返回的都是json属性,我们需要通过接口返回的json提取出来对应的值,然后进行做断言或者提取想要的值供下一个接口进行使用。 但是如果返回的json数据嵌套了很多层,通过查找需要的词,就…...

Stable Diffusion4.8.7(Ai绘画)软件安装教程
软件下载 [名称]:Stable Diffusion4.8.7(Ai绘画) [大小]:16.52GB [语言]:简体中文 [安装环境]:Win11/Win10/Win8/Win7 [硬件要求]:CPU2.0GHz ,内存4G(或更高&#x…...
操作系统错误处理
错误处理 1、通过函数的返回值表示执行错误: // 返回合法值表示成功 返回非法值表示失败 // 计算大小、查找 long file_size(const char* path) {FILE* fp fopen(path,"r");if(NULL fp)return -1; // 返回非法值fseek(fp,SEEK_END,0);long size …...

【靶场实操】sql-labs通关详解----第一节:基础注入方式(Less-1~Less-10)
目录 一、注入方式简要概括 1.1 SQL常见注入方式 1.2 爆破函数 二、靶场实操 2.1 Less-1 2.1.1 判断类型 2.1.2 联合注入查询 2.2 Less-2 2.2.1 判断类型 2.2.2 注入攻击 2.2.3 字符型与数字型漏洞对比 2.3 Less-3 2.3.1 判断 2.3.2 注入 2.4 Less-4 2.4.1 判断…...
力扣676.实现一个魔法字典
力扣676.实现一个魔法字典 字典树 dfs class Trie{public:Trie* next[26];bool is_end false;};class MagicDictionary {public:Trie* root new Trie();void add(string& word){Trie* p root;for(char c:word){if(p->next[c-a] NULL) p->next[c-a] new Trie…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...

聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...

HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...