wordpress定制主题,网站建设代码优化,潍坊建设街邮政公司,上海高端网站建设题目#xff1a;
给定一个 N*M 矩阵#xff0c;请先找出 M 个该矩阵中每列元素的最大值#xff0c;然后输出这 M 个值中的
最小值
补充说明#xff1a;
N 和 M 的取值范围均为#xff1a;[0, 100]
示例 1
输入#xff1a;
[[1,2],[3,4]]
输出#xff1a;
3
说…题目
给定一个 N*M 矩阵请先找出 M 个该矩阵中每列元素的最大值然后输出这 M 个值中的
最小值
补充说明
N 和 M 的取值范围均为[0, 100]
示例 1
输入
[[1,2],[3,4]]
输出
3
说明
第一列元素为1 和 3最大值为 3
第二列元素为2 和 4最大值为 4
各列最大值 3 和 4 的最小值为 3 题解
比较暴利的思路就是直接创建二维数组然后先按照列遍历找出最大的值放在一个List里面最后找到这个List最小值就可以了
代码
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;public class MnMatrix {public static void main(String[] args) {Scanner sc new Scanner(System.in);if (!sc.hasNextLine()) {return;}String matrixStr sc.nextLine();String matrix matrixStr.substring(2, matrixStr.length() - 2);String[] matrixArr matrix.split(],\\[);int n matrixArr.length;int m matrixArr[0].split(,).length;int[][] intArr new int[n][m];ListInteger colList new ArrayList();// 构造二维数组for (int i 0; i n; i) {String[] matrixPos matrixArr[i].split(,);for (int j 0; j m; j) {intArr[i][j] Integer.valueOf(matrixPos[j]);}}// 按照列遍历for (int j 0; j m; j) {ListInteger intList new ArrayList();for (int i 0; i n; i) {intList.add(intArr[i][j]);if (i n - 1) {intList intList.stream().sorted().collect(Collectors.toList());colList.add(intList.get(intList.size() - 1));}}}colListcolList.stream().sorted().collect(Collectors.toList());System.out.println(colList.get(0));}
}验证