如何在 Java 中查找矩阵每一行的最小元素?
在 Java 中,数组是一个对象。它是一种非基本数据类型,用于存储相同数据类型的多个值。Java 中的矩阵只不过是一个多维数组,它表示多行和多列。
根据问题陈述,我们需要找到给定多维数组矩阵每一行中存在的最小元素。
让我们深入探讨本文,了解如何使用 Java 编程语言来实现这一点。
举几个例子
实例 1
Suppose the original matrix is = { {2, 3,11, 4, 6}, {21,12,32,45,2}, {41,12,3,45, 2} }
第 0 行中存在的最小元素是 1
第 1 行中存在的最小元素是 2
第 2 行中存在的最小元素是 2
实例 2
Suppose the original matrix is = { {2, 3, 1, 4, 6}, {21, 12, 32, -4, 2}, {4, 12, 3, 45, 2}, {-12, -13, 6, 1, 8} }
第 0 行中存在的最小元素是 1
第 1 行中存在的最小元素是 -4
第 2 行中存在的最小元素是 2
第 3 行中存在的最小元素是 -13
实例 3
Suppose the original matrix is = { {2, 3, 1}, 21,12,32}, {4,12,13} }
第 0 行中存在的最小元素是 1
第 1 行中存在的最小元素是 12
第 2 行中存在的最小元素是 4
算法
步骤 1 − 声明并初始化一个整数多维数组。
步骤 2 − 使用循环迭代给定矩阵的行。
步骤 3 − 在该循环内再使用一个 for 循环来迭代列,通过这种方法,我们现在可以检查行中所有可用的元素。
步骤 4 − 我们将这些行的元素传递到条件中以获取最小值。
步骤 5 − 在每个循环中获取最小值后,我们将这些值及其对应的行索引号作为输出打印。
语法
要获取数组的长度(数组中元素的数量),数组有一个内置属性,即length
下面是它的语法:
array.length
其中,'array' 指的是数组引用。
多种方法
我们提供了不同的方法来解决这个问题。
使用数组元素的静态初始化
使用用户自定义方法
让我们逐一查看程序及其输出。
方法 1:使用数组元素的静态初始化
在这种方法中,数组元素将在程序中初始化。然后根据算法,矩阵每一行的最小值将作为输出打印。
示例
public class Main{ public static void main(String[] args) { //declare an integer type multi dimentional array //here we take a 3X3 Matrix with some random values int[][] inputMatrix = { {21,34,76}, {2,1,5}, {90,23,-23} }; for (int r = 0; r < inputMatrix.length; r++) { int minimumValue = inputMatrix[r][0]; for (int c = 0; c < inputMatrix[r].length; c++){ //if the current index value is smaller than the Minimum value if (inputMatrix[r][c] < minimumValue) { //store the minimum value to the variable each time //when the above condition satisfied minimumValue = inputMatrix[r][c]; } } //print the row index value along with the derived minimum value System.out.println("The minimum element present in row-" + r + " is " + minimumValue); } } }
输出
The minimum element present in row-0 is 21 The minimum element present in row-1 is 1 The minimum element present in row-2 is -23
方法 2:使用用户自定义方法
在这种方法中,数组元素将在程序中初始化。然后通过将数组作为参数调用用户自定义方法,并在方法内部根据算法,矩阵每一行的最小值将作为输出打印。
示例
public class Main { public static void main(String[] args) { //declare an integer type multi dimentional array //a 3X3 Matrix with some random values int[][] inputMatrix ={ {2, 3, 1}, {21,12,32}, {4,12,3} }; //call the user-defined method Min(inputMatrix); } //user defined method public static void Min(int[][] mat) { for (int r = 0; r < mat.length; r++) { int minimumValue = mat[r][0]; //initiate the loop to check through the columns for (int c = 0; c < mat[r].length; c++){ //if the current index value is smaller than the Minimum value if (mat[r][c] < minimumValue) { //store the minimum value to the variable each time //when the above condition satisfied minimumValue = mat[r][c]; } } //print the row index value along with the derived minimum value System.out.println("The minimum element present in row-" + r + " is " + minimumValue); } } }
输出
The minimum element present in row-0 is 1 The minimum element present in row-1 is 12 The minimum element present in row-2 is 3
在本文中,我们探索了使用 Java 编程语言查找矩阵每一行中最小元素的不同方法。