Se le da una array de n elementos. Un extremo es un elemento que es mayor que sus dos vecinos o menor que sus dos vecinos. Tienes que calcular el número de extremos locales en una array dada.
Nota: los elementos primero y último no son extremos.
Ejemplos:
Input : a[] = {1, 5, 2, 5} Output : 2 Input : a[] = {1, 2, 3} Output : 0
Enfoque: para calcular el número de extremos, debemos verificar si un elemento es máximo o mínimo, es decir, si es mayor que sus dos vecinos o menor que ambos vecinos. Para esto, simplemente itere sobre la array y para cada elemento verifique su posibilidad de ser un extremo.
Nota: a[0] y a[n-1] tienen exactamente un vecino cada uno, no son mínimos ni máximos.
Java
// Java to find // number of extrema import java.io.*; class GFG { // function to find // local extremum static int extrema(int a[], int n) { int count = 0; // start loop from // position 1 till n-1 for (int i = 1; i < n - 1; i++) { // only one condition // will be true at a // time either a[i] // will be greater than // neighbours or less // than neighbours // check if a[i] is greater // than both its neighbours // then add 1 to x if(a[i] > a[i - 1] && a[i] > a[i + 1]) count += 1; // check if a[i] is // less than both its // neighbours, then // add 1 to x if(a[i] < a[i - 1] && a[i] < a[i + 1]) count += 1; } return count; } // driver program public static void main(String args[]) throws IOException { int a[] = { 1, 0, 2, 1 }; int n = a.length; System.out.println(extrema(a, n)); } } /* This code is contributed by Nikita Tiwari.*/
Producción :
2
Consulte el artículo completo sobre Número de extremos locales en una array para obtener más detalles.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA