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.
PHP
<?php // PHP program to find uncommon // elements of two sorted arrays function printUncommon($arr1, $arr2, $n1, $n2) { $i = 0; $j = 0; $k = 0; while ($i < $n1 && $j < $n2) { // If not common, print smaller if ($arr1[$i] < $arr2[$j]) { echo $arr1[$i] . " "; $i++; $k++; } else if ($arr2[$j] < $arr1[$i]) { echo $arr2[$j] . " "; $k++; $j++; } // Skip common element else { $i++; $j++; } } // printing remaining elements while ($i < $n1) { echo $arr1[$i] . " "; $i++; $k++; } while ($j < $n2) { echo $arr2[$j] . " "; $j++; $k++; } } // Driver code $arr1 = array(10, 20, 30); $arr2 = array(20, 25, 30, 40, 50); $n1 = sizeof($arr1) ; $n2 = sizeof($arr2) ; printUncommon($arr1, $arr2, $n1, $n2); // This code is contributed by Anuj_67 ?>
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