Problema
Dada una matriz de enteros, encuentre el segundo número más grande de la matriz.
Solución
El tiempo óptimo es lineal a la longitud de la matriz N. Podemos iterar sobre la matriz, siempre que los elementos más grandes se actualicen, su valor actual se convierte en el segundo más grande.
public static int getSecondLargest(int[] arr){ int first = Integer.MIN_VALUE; int second = Integer.MIN_VALUE; for(int i=0; i<arr.length; i++){ if(arr[i]>first){ second=first; first=arr[i]; } } return second; } |