📌  相关文章
📜  查找矩阵中每一列的最大元素

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

查找矩阵中每一列的最大元素

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

Input:  [1, 2, 3]
         [1, 4, 9]
         [76, 34, 21]

Output:
76
34
21

Input: [1, 2, 3, 21]
        [12, 1, 65, 9]
        [1, 56, 34, 2]
Output:
12
56
65
21

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

C++
// C++ program to find the maximum
// element of each column.
#include 
using namespace std;
const int MAX = 100;
 
// Function to find the maximum
// element of each column.
void largestInColumn(int mat[][MAX], int rows, int cols)
{
    for (int i = 0; i < cols; i++) {
        // initialize the maximum element
        // with 0
        int maxm = mat[0][i];
 
        // Run the inner loop for rows
        for (int j = 1; j < rows; j++) {
            // check if any element is greater
            // than the maximum element
            // of the column and replace it
            if (mat[j][i] > maxm)
                maxm = mat[j][i];
        }
 
        // print the largest element of the column
        cout << maxm << endl;
    }
}
 
// Driver code
int main()
{
    int n = 4, m = 4;
    int mat[][MAX] = { { 3, 4, 1, 8 },
                       { 1, 4, 9, 11 },
                       { 76, 34, 21, 1 },
                       { 2, 1, 4, 5 } };
 
    largestInColumn(mat, n, m);
 
    return 0;
}


Java
// Java program to find maximum
// element of each column in a matrix
public class GFG {
 
    // Function to find the maximum
    // element of each column.
    public static void largestInColumn(int cols, int[][] arr)
    {
 
        for (int i = 0; i < cols; i++) {
 
            // Initialize max to 0 at beginning
            // of finding max element of each column
            int maxm = arr[0][i];
            for (int j = 1; j < arr[i].length; j++)
                if (arr[j][i] > maxm)
                    maxm = arr[j][i];
 
            System.out.println(maxm);
        }
    }
 
    // Driver code
    public static void main(String[] args)
    {
        int[][] arr = new int[][] { { 3, 4, 1, 8 },
                                    { 1, 4, 9, 11 },
                                    { 76, 34, 21, 1 },
                                    { 2, 1, 4, 5 } };
        // Calling the function
        largestInColumn(4, arr);
    }
}


Python3
# Python3 program to find the maximum
# element of each column
MAX = 100
 
# function to find the maximum
# elements of each column
def largestInColumn(mat, rows, cols):
    for i in range(cols):
         
        # initialize the maximum element with 0
        maxm = mat[0][i]
        # run the inner loop for news
        for j in range(rows):
             
            # check if any elements is greater
            # than the maximum elements
            # of the column and replace it
            if mat[j][i] > maxm:
                maxm = mat[j][i]
         
        # print the largest element
        # of the column
        print(maxm)
 
# Driver code
n, m = 4, 4
mat = [[3, 4, 1, 8],
       [1, 4, 9, 11],
       [76, 34, 21, 1],
       [2, 1, 4, 5]]
     
largestInColumn(mat, n, m);
 
# This code is contributed
# by Mohit kumar 29 (IIIT gwalior)


C#
// C# program to find maximum
// element of each column in a matrix
using System;
 
class GFG
{
 
// Function to find the maximum
// element of each column.
public static void largestInColumn(int cols,
                                   int[, ] arr)
{
    for (int i = 0; i < cols; i++)
    {
 
        // Initialize max to 0 at beginning
        // of finding max element of each column
        int maxm = arr[0, i];
        for (int j = 1; j < arr.GetLength(0); j++)
            if (arr[j, i] > maxm)
                maxm = arr[j, i];
 
        Console.WriteLine(maxm);
    }
}
 
// Driver code
public static void Main()
{
    int[, ] arr = new int[, ] { { 3, 4, 1, 8 },
                                { 1, 4, 9, 11 },
                                { 76, 34, 21, 1 },
                                { 2, 1, 4, 5 } };
    // Calling the function
    largestInColumn(4, arr);
}
}
 
// This code is contributed
// by Akanksha Rai


PHP
 $maxm)
                $maxm = $mat[$j][$i];
        }
 
        // print the largest element
        // of the column
        echo $maxm, "\n";
    }
}
 
// Driver code
$n = 4;
$m = 4;
$mat = array(array( 3, 4, 1, 8 ),
             array( 1, 4, 9, 11 ),
             array( 76, 34, 21, 1 ),
             array( 2, 1, 4, 5 ));
 
largestInColumn($mat, $n, $m);
 
// This code is contributed by Sach_Code
?>


Javascript


输出:
76
34
21
11

时间复杂度: O(n * m),这里 n 是行数,m 是列数。