Problema 19 Java
función que obtenga el maximo numero de un array, pasandole el array, el indice y el numero maximo actual.
Otra función sin que sea necesario el tercer parámetro.
lo mismo con el mínimo.
}
public static void main(String[] args) {
int[] numeros = {6, 5, -9999, 10, 2, -10, 6};
System.out.println("Maximo v1: " + maximoRec(numeros, 0, numeros[0]));
System.out.println("Maximo v2: " + maximoRecV2(numeros, 0));
System.out.println("Minimo v1: " + minimoRec(numeros, 0, numeros[0]));
System.out.println("Minimo v2: " + minimoRecV2(numeros, 0));
}
public static int maximoRec(int[] numeros, int indice, int max) {
if (indice != numeros.length) {
if (numeros[indice] > max) {
max = maximoRec(numeros, indice + 1, numeros[indice]);
} else {
max = maximoRec(numeros, indice + 1, max);
}
}
return max;
}
public static int maximoRecV2(int[] numeros, int indice) {
int maximo = Integer.MIN_VALUE;
if (indice != numeros.length) {
maximo = Math.max(numeros[indice], maximoRecV2(numeros, indice + 1));
}
return maximo;
}
public static int minimoRec(int[] numeros, int indice, int min) {
if (indice != numeros.length) {
if (numeros[indice] < min) {
min = minimoRec(numeros, indice + 1, numeros[indice]);
} else {
min = minimoRec(numeros, indice + 1, min);
}
}
return min;
}
public static int minimoRecV2(int[] numeros, int indice) {
int minimo = Integer.MAX_VALUE;
if (indice != numeros.length) {
minimo = Math.min(numeros[indice], minimoRecV2(numeros, indice + 1));
}
return minimo;
}
}
