Dadas dos arrays ordenadas de elementos distintos, necesitamos imprimir aquellos elementos de ambas arrays que no son comunes. La salida debe imprimirse en orden ordenado.
Ejemplos:
Input : arr1[] = {10, 20, 30} arr2[] = {20, 25, 30, 40, 50} Output : 10 25 40 50 We do not print 20 and 30 as these elements are present in both arrays. Input : arr1[] = {10, 20, 30} arr2[] = {40, 50} Output : 10 20 30 40 50
La idea se basa en el proceso de fusión de tipo de fusión . Atravesamos ambas arrays y saltamos elementos comunes.
Java
// Java program to find uncommon elements // of two sorted arrays import java.io.*; class GFG { static void printUncommon(int arr1[], int arr2[], int n1, int n2) { int i = 0, j = 0, k = 0; while (i < n1 && j < n2) { // If not common, print smaller if (arr1[i] < arr2[j]) { System.out.print(arr1[i] + " "); i++; k++; } else if (arr2[j] < arr1[i]) { System.out.print(arr2[j] + " "); k++; j++; } // Skip common element else { i++; j++; } } // printing remaining elements while (i < n1) { System.out.print(arr1[i] + " "); i++; k++; } while (j < n2) { System.out.print(arr2[j] + " "); j++; k++; } } // Driver code public static void main(String[] args) { int arr1[] = { 10, 20, 30 }; int arr2[] = { 20, 25, 30, 40, 50 }; int n1 = arr1.length; int n2 = arr2.length; printUncommon(arr1, arr2, n1, n2); } } // This code is contributed by vt_m
10 25 40 50
Complejidad de tiempo: O(n1 + n2), donde n1 y n2 representan el tamaño de las dos arrays dadas.
Espacio auxiliar: O(1), no se requiere espacio adicional, por lo que es una constante.
¡ Consulte el artículo completo sobre Imprimir elementos poco comunes de dos arrays ordenadas 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