The Blog

Obtener valor maximo de una lista o array

2017-07-13 03:07:45

¿Como obtener el valor máximo y mínimo de una lista/array?. Aquí os explicaremos cuatro maneras para conseguirlo.

  • Algoritmo de Divide y Vencerás
  • Tratamientos secuenciales
  • Collections
  • Java8 (Lambda expressions)

  • El tiempo de ejecución de las cuatro manera es prácticamente el mismo. A continuación se explican las maneras de poder realizarlo.

    Java8 (Lambda expressions):
    public int Java8(Integer[] a){
    	return Arrays.asList(a).stream().max(Comparator.naturalOrder()).get();
    }

    Collections:
    public Integer MaximoJava(Integer[] a){
    	List res = Arrays.asList(a);
    	return Collections.max(res);
    }

    Tratamientos secuenciales:
    public Integer Secuencial(Integer[] a){
    	Integer res = null;
    	for(int i=0;i<"a.length";i++){
    		if(res == null || a[i] > res){
    			res = a[i];
    		}
    	}
    	return res;
    }

    Divide y Vencerás:
    public Integer Recursividad(Integer[] a,int i,int j){
    	Integer res = -1;
    
    	if(j==i){
    		res = Math.max(a[i],a[i]); //Valor base
    	}else if(j-i == 1){
    		res = Math.max(a[i], a[j]); //Valor base
    	}else{
    	    int s = (i+j)/2;
    	    int m = MaximoRecursividad(a,i,s);
    	    int M = MaximoRecursividad(a,s+1,j);
    		res = Math.max(M,m);
    	}
    	return res;
    }

    Comments (0)

    • ¡Se el primero en comentar!

    Leave a comment

    Su mensaje ha sido enviado correctamente. ¡Muchas gracias!. Recuerda reiniciar la pagina para ver el comentario.

    No ha sido posible enviar el mensaje. Revise los datos