Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Java Program to Find the Maximum Element in a Matrix

  • Last Updated : 07 Jan, 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:

  1. Iterative method (naive approach)
  2. 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 classes
import java.io.*;
 
// Main class
class 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);
    }
}
Output
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 classes
import java.io.*;
 
// main class
class 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;
        }
 
        // Genric 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 recursie function to
        // find out maximum element
        int max_element = max(mat, 0, 0);
 
        // Print and display the maximum element
        System.out.println(max_element);
    }
}
Output
99

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!