2024华为OD机试真题,代码包含语言java、js、python、c 代码基本都有详细注释。
题目描述
从一个 N * M(N ≤ M)的矩阵中选出 N 个数,任意两个数字不能在同一行或同一列,求选出来的 N 个数中第 K 大的数字的最小值是多少。
输入描述
输入矩阵要求:1 ≤ K ≤ N ≤ M ≤ 150
输入格式:
N M K
N*M矩阵
输出描述
N*M 的矩阵中可以选出 M! / N! 种组合数组,每个组合数组种第 K 大的数中的最小值。无需考虑重复数字,直接取字典排序结果即可。
备注
注意:结果是第 K 大的数字的最小值
用例
| 输入 | 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 |
作者:华为OD机试题库
链接:华为OD机试真题 - 矩阵匹配 (D卷,200分)_牛客网
来源:牛客网
348




被折叠的 条评论
为什么被折叠?



