Java Program to Find the Maximum Element in a Matrix - GeeksforGeeks

06 Apr, 2022
Given a multi-dimensional 2D matrix of n rows and m column order N × M. The task is to find the maximum element in the given matrix.
Illustration:
Input  : mat[][] = { {1,3,4,19}, {11,10,12,1}, {7,9,0,4,99} }
Output : 99
Methods:
Iterative method (naive approach)Using the principle of recursion (Bit more optimal approach)
Iterative method (naive approach)
Using the principle of recursion (Bit more optimal approach)
Method 1: Iterative method 
The approach is simple to iterate every element of the matrix one by one and store the maximum of two elements in the max variable as used below in the program and returns the max variable that contains the maximum element of the matrix.
Example 
Java
// Java Program to Find the Maximum Element in a Matrix // Importing input output classesimport java.io.*; // Main classclass GFG {     // Method 1    // To find the maximum element    static int max(int mat[][])    {        // Declaring and initializing variable to unity        // holding the maximum element value        int max = 0;         // Iterating over matrix        // using nested for loops         // Outer loop for rows        for (int i = 0; i < mat.length; ++i) {             // Inner loop for columns            for (int j = 0; j < mat[0].length; ++j) {                 // Storing the maximum element                max = Math.max(mat[i][j], max);            }        }         // Return the maximum element        return max;    }     // Method 2    // Main driver method    public static void main(String[] args)    {        // Custom input 2D matrix        int mat[][] = { { 1, 3, 4, 19 },                        { 11, 10, 12, 1 },                        { 7, 9, 0, 99 } };         // Calling the method 1 to get max element        // and storing that integer element        int max_element = max(mat);         // Printing the maximum element        System.out.println(max_element);    }}
99
Method 2: Using the principle of recursion 
Procedure:
Recursively call every element of the matrix to the last element of the matrix.
Return the max of the current element to the next recursive call element.
Example
Java
// Java Program to Find the Maximum Element in a Matrix// Using Recursion // Importing input output classesimport java.io.*; // main classclass GFG {     // Method 1    // To find the max element    static int max(int mat[][], int i, int j)     {        // Handling the base cases        if (j == mat[0].length && i < mat.length) {             // Changing the row and column index            j = 0;            ++i;        }         // Generic case        if (i == mat.length) {             // Simply return            return 0;        }         // By far if we reach here then        // return the max element        return Math.max(mat[i][j], max(mat, i, j + 1));    }     // Method 2    // Main driver method    public static void main(String[] args)    {        // Custom input 2D array        int mat[][] = { { 1, 3, 4, 19 },                        { 11, 10, 12, 1 },                        { 7, 9, 0, 99 } };        // Calling the method 1 that is recursive function to        // find out maximum element        int max_element = max(mat, 0, 0);         // Print and display the maximum element        System.out.println(max_element);    }}
99
simmytarika5
sagar0719kumar
simranarora5sos
arorakashish0911
Picked
Java
Java Programs
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Stream In Java
Constructors in Java
Exceptions in Java
Functional Interfaces in Java
Different ways of Reading a text file in Java
Java Programming Examples
Convert Double to Integer in Java
Implementing a Linked List in Java using Class
How to Iterate HashMap in Java?
Program to print ASCII Value of a character