def min_of_max_columns(matrix):if not matrix or not matrix[0]: # 处理空矩阵的情况return Nonemax_values = for col in range(len(matrix[0])): # 遍历每一列column_max = max(row[col] for row in matrix) # 找出当前列的最大值max_values.append(column_max)return min(max_values) # 返回最大值中的最小值def parse_matrix_input(input_str):# 移除所有空格和换行符input_str = input_str.replace(" ", "").replace("\n", "")# 检查输入是否符合 [[...],[...]] 格式if not (input_str.startswith("[") and input_str.endswith("]")):raise ValueError("输入格式不正确,应为 [[a,b],[c,d]] 形式")# 安全地解析输入为列表(使用 ast.literal_eval)import asttry:matrix = ast.literal_eval(input_str)except (SyntaxError, ValueError):raise ValueError("输入不是有效的矩阵格式")# 验证是否为合法的二维列表if not isinstance(matrix, list) or not all(isinstance(row, list) for row in matrix):raise ValueError("输入不是二维列表")# 检查所有行长度是否一致if len(matrix) > 0 and not all(len(row) == len(matrix[0]) for row in matrix):raise ValueError("矩阵的每一行长度必须相同")return matrixif __name__ == "__main__":input_str = input.strip # 读取单行输入,例如 "[[1,2],[3,4]]"try:matrix = parse_matrix_input(input_str)result = min_of_max_columns(matrix)print(result)except ValueError as e:print(f"错误: {e}")摘要:def min_of_max_columns(matrix):if not matrix or not matrix[0]: # 处理空矩阵的情况return Nonemax_values = for col in range(len(matrix[0])):
来源:芳芳课堂