📜  寻找矩阵中最大元素的程序

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

寻找矩阵中最大元素的程序

给定一个 NxM 矩阵。任务是找到这个矩阵中的最大元素。
例子

Input: mat[4][4] = {{1, 2, 3, 4},
                    {25, 6, 7, 8},
                    {9, 10, 11, 12},
                    {13, 14, 15, 16}};
Output: 25

Input: mat[3][4] = {{9, 8, 7, 6},
                    {5, 4, 3, 2},
                    {1, 0, 12, 45}};
Output: 45

方法:这个想法是使用两个嵌套循环遍历矩阵,一个用于行,一个用于列,并找到最大元素。用最小值初始化变量 maxElement 并遍历矩阵并每次比较当前元素是否大于 maxElement。如果是,则使用当前元素更新 maxElement。
下面是上述方法的实现:

C++
// CPP code to find max element in a matrix
#include 
using namespace std;
 
#define N 4
#define M 4
 
// Function to find max element
// mat[][] : 2D array to find max element
int findMax(int mat[N][M])
{
 
    // Initializing max element as INT_MIN
    int maxElement = INT_MIN;
 
    // checking each element of matrix
    // if it is greater than maxElement,
    // update maxElement
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < M; j++) {
            if (mat[i][j] > maxElement) {
                maxElement = mat[i][j];
            }
        }
    }
 
    // finally return maxElement
    return maxElement;
}
 
// Driver code
int main()
{
 
    // matrix
    int mat[N][M] = { { 1, 2, 3, 4 },
                      { 25, 6, 7, 8 },
                      { 9, 10, 11, 12 },
                      { 13, 14, 15, 16 } };
 
    cout << findMax(mat) << endl;
 
    return 0;
}


Java
// Java code to find max element in a matrix
 
public class GFG {
     
    final static int N = 4;
    final static int  M = 4 ;
 
    // Function to find max element
    // mat[][] : 2D array to find max element
    static int findMax(int mat[][])
    {
 
        // Initializing max element as INT_MIN
        int maxElement = Integer.MIN_VALUE;
 
        // checking each element of matrix
        // if it is greater than maxElement,
        // update maxElement
        for (int i = 0; i < N; i++) {
            for (int j = 0; j < M; j++) {
                if (mat[i][j] > maxElement) {
                    maxElement = mat[i][j];
                }
            }
        }
 
        // finally return maxElement
        return maxElement;
    }
 
     
    // Driver code
    public static void main(String args[])
    {
           // matrix
        int mat[][] = { { 1, 2, 3, 4 },
                          { 25, 6, 7, 8 },
                          { 9, 10, 11, 12 },
                          { 13, 14, 15, 16 } };
 
        System.out.println(findMax(mat)) ;
   
    }
    // This Code is contributed by ANKITRAI1
}


Python3
# Python 3 code to find max element
# in a matrix
import sys
N = 4
M = 4
 
# Function to find max element
# mat[][] : 2D array to find max element
def findMax(mat):
     
    # Initializing max element as INT_MIN
    maxElement = -sys.maxsize - 1
 
    # checking each element of matrix
    # if it is greater than maxElement,
    # update maxElement
    for i in range(N):
        for j in range(M):
            if (mat[i][j] > maxElement):
                maxElement = mat[i][j]
         
    # finally return maxElement
    return maxElement
 
# Driver code
if __name__ == '__main__':
     
    # matrix
    mat = [[1, 2, 3, 4],
           [25, 6, 7, 8],
           [9, 10, 11, 12],
           [13, 14, 15, 16]]
    print(findMax(mat))
 
# This code is contributed by
# Surendra_Gangwar


C#
// C# code to find max element in a matrix
using System;
 
class GFG {
     
    static int N = 4;
    static int M = 4 ;
 
    // Function to find max element
    // mat[,] : 2D array to find max element
    static int findMax(int[,] mat)
    {
 
        // Initializing max element as INT_MIN
        int maxElement = int.MinValue;
 
        // checking each element of matrix
        // if it is greater than maxElement,
        // update maxElement
        for (int i = 0; i < N; i++) {
             
            for (int j = 0; j < M; j++) {
                 
                if (mat[i,j] > maxElement) {
                     
                    maxElement = mat[i,j];
                }
            }
        }
 
        // finally return maxElement
        return maxElement;
    }
 
     
    // Driver code
    public static void Main()
    {
         
        // matrix
        int[,]mat = {{ 1, 2, 3, 4},
                     {25, 6, 7, 8},
                     {9, 10, 11, 12},
                     {13, 14, 15, 16}};
 
        Console.Write(findMax(mat)) ;
    }
     
}
 
// This code is contributed by ChitraNayal


PHP
 $maxElement)
            {
                $maxElement = $mat[$i][$j];
            }
        }
    }
 
    // finally return maxElement
    return $maxElement;
}
 
// Driver code
$mat = array(array(1, 2, 3, 4),
             array(25, 6, 7, 8),
             array(9, 10, 11, 12),
             array(13, 14, 15, 16));
 
echo findMax($mat) . "\n";
 
// This code is contributed
// by Akanksha Rai
?>


Javascript


输出:
25

时间复杂度:O(N*M)