一、题目
题目描述:
给定一个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
四、解题思路
- 首先,我们需要找出矩阵每列的最大值。
- 然后,从这些最大值中找出最小值。
五、参考代码
# -*- 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) # 输出: