【华为机试】2023年真题B卷(python)-矩阵元素的边界值

2024-01-03 13:32:49

一、题目

题目描述:

给定一个N*M矩阵,请先找出M个该矩阵中每列元素的最大值,然后输出这M个值中的最小值。
补充说明: N和M的取值范围均为: [0,100]

二、示例

示例1:
输入:?
[[1,2],[3,4]]
输出:
3?
说明: 第一列元素为: 1和3,
最大值为3第二列元素为: 2和4,
最大值为4各列最大值3和4的最小值为3

三、要求

时间限制:C/C++ 1秒,其他语言 2秒
空间限制:C/C++262144K,其他语言524288K
64bit IO Format:%lld

四、解题思路

  1. 首先,我们需要找出矩阵每列的最大值。
  2. 然后,从这些最大值中找出最小值。

五、参考代码?

# -*- coding: utf-8 -*-
'''
@File    :   2023-B-矩阵元素的边界值.py
@Time    :   2023/12/30 21:07:10
@Author  :   mgc 
@Version :   1.0
@Desc    :   None
'''

# import os
# import re
# import sys
# import copy
# import math
# import queue
# import functools
# from queue import Queue
# from collections import Counter, defaultdict

def find_min_max(matrix):
    max_values = []  # 存储每列的最大值
    for col in range(len(matrix[0])):  # 遍历每一列
        max_val = max(matrix[row][col] for row in range(len(matrix)))  # 找出当前列的最大值
        max_values.append(max_val)  # 将最大值添加到max_values列表中
    min_max = min(max_values)  # 找出max_values列表中的最小值
    return min_max


input_str = input()
matrix = eval(input_str)
result = find_min_max(matrix)
print(result)  # 输出: 

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