📌  相关文章
📜  矩阵中每一行每一列的最小元素

📅  最后修改于: 2022-05-13 01:57:05.495000             🧑  作者: Mango

矩阵中每一行每一列的最小元素

给定一个矩阵,任务是找到每一行和每一列的最小元素。
例子:

Input: [1, 2, 3]
        [1, 4, 9]
        [76, 34, 21]
Output: Minimum element of each row is {1, 1, 21}
Minimum element of each column is {1, 2, 3}

Input: [1, 2, 3, 21]
       [12, 1, 65, 9]
       [11, 56, 34, 2]
Output: Minimum element of each row is {1, 1, 21}
Minimum element of each column is {1, 2, 3}

方法:这个想法是为 no_of_rows 运行循环。检查行内的每个元素并找到最小元素。最后,打印元素。同样,检查列内的每个元素并找到最小元素。最后,打印元素。
下面是上述方法的实现:

C++
// C++ program to find the minimum
// element of each row and each column
#include
using namespace std;
const int MAX = 100;
 
// function to find the minimum
// element of each row.
void smallestInRow(int mat[][MAX], int n, int m)
{
    cout << " { ";
    for (int i = 0; i < n; i++) {
 
        // initialize the minimum element
        // as first element
        int minm = mat[i][0];
 
        for (int j = 1; j < m; j++) {
 
            // check if any element is smaller
            // than the minimum element of the row
            // and replace it
            if (mat[i][j] < minm)
                minm = mat[i][j];
        }
 
        // print the smallest element of the row
        cout << minm << ", ";
    }
    cout << "}";
}
 
// function to find the minimum
// element of each column.
void smallestInCol(int mat[][MAX], int n, int m)
{
 
    cout << " { ";
    for (int i = 0; i < m; i++) {
 
        // initialize the minimum element
        // as first element
        int minm = mat[0][i];
 
        // Run the inner loop for columns
        for (int j = 1; j < n; j++) {
 
            // check if any element is smaller
            // than the minimum element of the column
            // and replace it
            if (mat[j][i] < minm)
                minm = mat[j][i];
        }
 
        // print the smallest element of the row
        cout << minm << ", ";
    }
 
    cout << "}";
}
 
// Driver code
int main()
{
 
    int n = 3, m = 3;
    int mat[][MAX] = { { 2, 1, 7 },
                       { 3, 7, 2 },
                       { 5, 4, 9 } };
 
    cout << "Minimum element of each row is ";
    smallestInRow(mat, n, m);
 
    cout << "\nMinimum element of each column is ";
    smallestInCol(mat, n, m);
 
    return 0;
}


Java
// Java program to find the minimum
// element of each row and each column
 
public class GFG {
 
    final static int MAX = 100;
 
// function to find the minimum
// element of each row.
    static void smallestInRow(int mat[][], int n, int m) {
        System.out.print(" { ");
        for (int i = 0; i < n; i++) {
 
            // initialize the minimum element
            // as first element
            int minm = mat[i][0];
 
            for (int j = 1; j < m; j++) {
 
                // check if any element is smaller
                // than the minimum element of the row
                // and replace it
                if (mat[i][j] < minm) {
                    minm = mat[i][j];
                }
            }
 
            // print the smallest element of the row
            System.out.print(minm + ", ");
        }
        System.out.println("}");
    }
 
// function to find the minimum
// element of each column.
    static void smallestInCol(int mat[][], int n, int m) {
 
        System.out.print(" { ");
        for (int i = 0; i < m; i++) {
 
            // initialize the minimum element
            // as first element
            int minm = mat[0][i];
 
            // Run the inner loop for columns
            for (int j = 1; j < n; j++) {
 
                // check if any element is smaller
                // than the minimum element of the column
                // and replace it
                if (mat[j][i] < minm) {
                    minm = mat[j][i];
                }
            }
 
            // print the smallest element of the row
            System.out.print(minm + ", ");
        }
 
        System.out.print("}");
    }
 
// Driver code
    public static void main(String args[]) {
        int n = 3, m = 3;
        int mat[][] = {{2, 1, 7},
        {3, 7, 2},
        {5, 4, 9}};
 
        System.out.print("Minimum element of each row is ");
        smallestInRow(mat, n, m);
 
        System.out.print("\nMinimum element of each column is ");
        smallestInCol(mat, n, m);
    }
}
 
/*This code is contributed by 29AjayKumar*/


Python3
# Python 3 program to find the minimum
 
MAX = 100
 
# function to find the minimum
# element of each row.
def smallestInRow(mat, n, m):
    print("{", end = "")
    for i in range(n):
         
        # initialize the minimum element
        # as first element
        minm = mat[i][0]
 
        for j in range(1, m, 1):
             
            # check if any element is smaller
            # than the minimum element of the
            # row and replace it
            if (mat[i][j] < minm):
                minm = mat[i][j]
         
        # print the smallest element
        # of the row
        print(minm, end = ",")
 
    print("}")
 
# function to find the minimum
# element of each column.
def smallestInCol(mat, n, m):
    print("{", end = "")
    for i in range(m):
         
        # initialize the minimum element
        # as first element
        minm = mat[0][i]
 
        # Run the inner loop for columns
        for j in range(1, n, 1):
             
            # check if any element is smaller
            # than the minimum element of the
            # column and replace it
            if (mat[j][i] < minm):
                minm = mat[j][i]
 
        # print the smallest element
        # of the row
        print(minm, end = ",")
 
    print("}")
 
# Driver code
if __name__ == '__main__':
    n = 3
    m = 3
    mat = [[2, 1, 7],
           [3, 7, 2 ],
           [ 5, 4, 9 ]];
 
    print("Minimum element of each row is",
                                 end = " ")
    smallestInRow(mat, n, m)
 
    print("Minimum element of each column is",
                                    end = " ")
    smallestInCol(mat, n, m)
 
# This code is contributed by
# Shashank_Sharma


C#
// C# program to find the minimum
// element of each row and each column
using System;
 
class GFG
{
 
readonly static int MAX = 100;
 
// function to find the minimum
// element of each row.
static void smallestInRow(int [,]mat,
                          int n, int m)
{
    Console.Write(" { ");
     
    for (int i = 0; i < n; i++)
    {
 
        // initialize the minimum element
        // as first element
        int minm = mat[i, 0];
 
        for (int j = 1; j < m; j++)
        {
 
            // check if any element is smaller
            // than the minimum element of the
            // row and replace it
            if (mat[i, j] < minm)
            {
                minm = mat[i, j];
            }
        }
 
        // print the smallest element
        // of the row
        Console.Write(minm + ", ");
    }
    Console.WriteLine("}");
}
 
// function to find the minimum
// element of each column.
static void smallestInCol(int [,]mat,
                          int n, int m)
{
 
    Console.Write(" { ");
    for (int i = 0; i < m; i++)
    {
 
        // initialize the minimum element
        // as first element
        int minm = mat[0, i];
 
        // Run the inner loop for columns
        for (int j = 1; j < n; j++)
        {
 
            // check if any element is smaller
            // than the minimum element of the
            // column and replace it
            if (mat[j, i] < minm)
            {
                minm = mat[j, i];
            }
        }
 
        // print the smallest element
        // of the row
        Console.Write(minm + ", ");
    }
 
    Console.Write("}");
}
 
// Driver code
public static void Main()
{
    int n = 3, m = 3;
    int [,]mat = {{2, 1, 7},
                   {3, 7, 2},
                  {5, 4, 9}};
 
    Console.Write("Minimum element of " +
                         "each row is ");
    smallestInRow(mat, n, m);
 
    Console.Write("\nMinimum element of " +
                        "each column is ");
    smallestInCol(mat, n, m);
}
}
 
// This code is contributed
// by 29AjayKumar


PHP


Javascript


输出:
Minimum element of each row is  { 1, 2, 4, }
Minimum element of each column is  { 2, 1, 2, }

时间复杂度: O(n*m)