华为OD机试真题-矩阵匹配-2024年OD统一考试(C卷)

news/2024/7/20 19:25:13 标签: 华为od, python, 华为, 数据结构, 矩阵, java, c++

题目描述:

从一个N*M(N<=M)的矩阵中选出N个数,任意两个数字不能在同一行或同一列,求选出来的N个数中第K大的数字的最小值是多少。

输入描述:

输入矩阵要求:1<=K<=N<=M<=150

输入格式:N M K

                  N*M矩阵

输出描述:

N*M的矩阵中可以选出M!/N!种组合数组,每个组合数组中第K大的数中的最小值。无需考虑重复数字,直接取字典排序结果即可。

补充说明:注意:结果是第K大的数字的最小值

示例1

输入:3 4 2

         1 5 6 6 

         8 3 4 3

         6 8 6 3

输出:3

说明:N*M的矩阵中可以选出M!/N!种组合数组,每个组合数组中第K大的数中的最小值;上述输入中选出的数组组合为1,3,6; 1,3,3; 1,4,8; 1,4,3;......上述输入样例中选出的组合数组有24种,最小数组为1,3,3,则2大的最小值为3

解题思路:考察对二分查找、DFS搜索的理解和运用。 

C++解法: 

#include <iostream>
#include <vector>
#include <a

http://www.niftyadmin.cn/n/5385646.html

相关文章

算法作业-第一章算法基础

目录 1 写出选择排序伪代码&#xff0c;分析算法复杂度 伪代码&#xff1a; 复杂度分析&#xff1a; 2 掌握STL中优先队列的使用方法 问题&#xff1a;果园里有N堆不同重量的果子&#xff0c;现在需要将它们合成一堆&#xff0c;每次只能合并两堆果子&#xff0c;并且消耗…

通过Django实现获取当前时间

需求 通过访问 http://localhost:8080/timer&#xff0c;能够获取到当前的时间。 实现步骤 第一步&#xff1a;新增templates/home/timer.html&#xff0c;不存在的目录则新建目录 <!DOCTYPE html> <html lang"en"> <head><meta charset&qu…

【VIP专属】Python应用案例——基于TensorFlow 2.3建立RNN搭配Word2Vec Embedding进行文本分类

目录 一、数据准备 二、实验流程 1、加载数据集 ​2、分词处理

【Java程序员面试专栏 数据结构】四 高频面试算法题:哈希表

一轮的算法训练完成后,对相关的题目有了一个初步理解了,接下来进行专题训练,以下这些题目就是汇总的高频题目,一个O(1)查找的利器哈希表,所以放到一篇Blog中集中练习 题目关键字解题思路时间空间两数之和辅助哈希使用map存储出现过的值,key为值大小,value为下标位置,…

Linux离线安装插件

当公司Linux环境无外网情况下&#xff0c;需要先下载好离线安装包&#xff0c;然后上传到服务器&#xff0c;进行安装。 这里介绍一个下载插件安装包的网站&#xff0c;可以搜索到lrzsz、lsof、telnet、unzip、zip等安装包 搜索到想要的插件安装包后&#xff0c;下载并上传到服…

在VSCode中新配置一个ros项目

如何从零开始配置一个ros项目 预先准备初始化ros工程运行hello_ros进行第一个示例进行编译测试 预先准备 首先要在vscode中安装&#xff08;必须安装的&#xff09;&#xff1a;ros&#xff0c;c&#xff0c;cmake&#xff0c;cmake tools&#xff08;补全camkelist文件&#…

三、创建脚手架和脚手架分析

三、创建脚手架 一、环境准备 1、安装node.js **下载地址&#xff1a;**https://nodejs.org/zh-cn/界面展示 2、检查node.js版本 查看版本的两种方式 node -vnode -version 出现版本号则说明安装成功&#xff08;最新的以官网为准&#xff09; 3、为了提高我们的效率&…

ELK入门(三)-Kibana

Kibana Kibana是一个开源的分析与可视化平台&#xff0c;设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等&#xff0c;直观的展示数据&#xff0c;从而达到高级…