在 Java 中查找矩阵每行的最小元素?

javaobject oriented programmingprogramming

在 Java 中,数组是一个对象。它是一种非原始数据类型,用于存储类似数据类型的值。 Java 中的矩阵不过是一个代表多行和多列的多维数组。

根据问题陈述,我们必须找到多维数组给定矩阵每一行中存在的最小元素。

让我们深入研究这篇文章,了解如何使用 Java 编程语言完成它。

向您展示一些实例

实例 1

假设原始矩阵为 = {
{2, 3,11, 4, 6},
{21,12,32,45,2},
{41,12,3,45, 2}
}

第 0 行中存在的最小元素为 1

第 1 行中存在的最小元素为 2

第 2 行中存在的最小元素为2

实例-2

假设原始矩阵为 = {
{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

假设原始矩阵为 = {
{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) {
      
      //声明一个整数类型多维数组
      //这里我们采用一个包含一些随机值的 3X3 矩阵
      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 (inputMatrix[r][c] < minimumValue) {
               
                //每次将最小值存储到变量中
                //当满足上述条件时
                minimumValue = inputMatrix[r][c];
            }
         }
         
        //打印行索引值以及派生的最小值
        System.out.println("row-" + r + " 中存在的最小元素是 " + minimumValue);
      }
   }
}

输出

第 0 行中存在的最小元素为 21
第 1 行中存在的最小元素为 1
第 2 行中存在的最小元素为 -23

方法 2:使用用户定义方法

在此方法中,数组元素将在程序中初始化。然后通过将数组作为参数传递来调用用户定义方法,并根据算法在方法内部将矩阵每行的最小值打印为输出。

示例

public class Main {
   public static void main(String[] args) {
      
        //声明一个整数类型的多维数组
        //一个包含一些随机值的 3X3 矩阵
        int[][] inputMatrix ={
        {2, 3, 1},
        {21,12,32},
        {4,12,3}
        };
        
        //调用用户定义的方法
        Min(inputMatrix);
   }
   //用户定义的方法
   public static void Min(int[][] mat) {
      for (int r = 0; r < mat.length; r++) {
         int minimumValue = mat[r][0];
                 
        //启动循环检查列
        for (int c = 0; c < mat[r].length; c++){
        
            //如果当前索引值小于最小值
            if (mat[r][c] < minimumValue) {
            
                //每次将最小值存储到变量中
                //当满足上述条件时
                minimumValue = mat[r][c];
            }
        }
        
        //打印行索引值以及派生的最小值
        System.out.println("行中存在的最小元素-" + r + " 是 " + minimumValue);
      }
   }
}

输出

第 0 行中存在的最小元素为 1
第 1 行中存在的最小元素为 12
第 2 行中存在的最小元素为 3

在本文中,我们探索了使用 Java 编程语言查找矩阵每行中最小元素的不同方法。


相关文章