Dada una array NxM. La tarea es encontrar el elemento máximo en esta array.
Ejemplos :
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
Enfoque: La idea es atravesar la array utilizando dos bucles anidados, uno para filas y otro para columnas y encontrar el elemento máximo. Inicialice una variable maxElement con un valor mínimo y recorra la array y compare cada vez si el elemento actual es mayor que un maxElement. En caso afirmativo, actualice maxElement con el elemento actual.
A continuación se muestra la implementación del enfoque anterior:
C++
// CPP code to find max element in a matrix #include <bits/stdc++.h> 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
<?php // PHP code to find max element in a matrix // Function to find max element // mat[][] : 2D array to find max element function findMax($mat) { // Initializing max element as INT_MIN $maxElement = PHP_INT_MIN; // checking each element of matrix // if it is greater than maxElement, // update maxElement for ($i = 0; $i < 4; $i++) { for ($j = 0; $j < 4; $j++) { if ($mat[$i][$j] > $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
<script> // Java script code to find max element in a matrix let N = 4; let M = 4 ; // Function to find max element // mat[][] : 2D array to find max element function findMax(mat) { // Initializing max element as INT_MIN let maxElement = Number.MIN_VALUE; // checking each element of matrix // if it is greater than maxElement, // update maxElement for (let i = 0; i < N; i++) { for (let j = 0; j < M; j++) { if (mat[i][j] > maxElement) { maxElement = mat[i][j]; } } } // finally return maxElement return maxElement; } // Driver code // matrix let mat = [[ 1, 2, 3, 4 ], [ 25, 6, 7, 8 ], [ 9, 10, 11, 12 ], [ 13, 14, 15, 16 ]]; document.write(findMax(mat)) ; // This code is contributed by manoj </script>
Producción:
25
Complejidad de tiempo : O(N*M)