如何在 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 编程语言查找矩阵每一行中最小元素的不同方法。

更新于: 2023 年 3 月 6 日

1K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告