# Python Program to Print uncommon elements from two sorted arrays

Given two sorted arrays of distinct elements, we need to print those elements from both arrays that are not common. The output should be printed in sorted order.
Examples :

```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
```

Method 1:
The idea is based on the merge process of merge sort. We traverse both arrays and skip common elements.

## Python3

 `# Python 3 program to find uncommon` `# elements of two sorted arrays`     `def` `printUncommon(arr1, arr2, n1, n2):`   `    ``i ``=` `0` `    ``j ``=` `0` `    ``k ``=` `0` `    ``while` `(i < n1 ``and` `j < n2):`   `        ``# If not common, print smaller` `        ``if` `(arr1[i] < arr2[j]):` `            ``print``(arr1[i], end``=``" "``)` `            ``i ``=` `i ``+` `1` `            ``k ``=` `k ``+` `1`   `        ``elif` `(arr2[j] < arr1[i]):` `            ``print``(arr2[j], end``=``" "``)` `            ``k ``=` `k ``+` `1` `            ``j ``=` `j ``+` `1`   `        ``# Skip common element` `        ``else``:` `            ``i ``=` `i ``+` `1` `            ``j ``=` `j ``+` `1`   `    ``# printing remaining elements` `    ``while` `(i < n1):` `        ``print``(arr1[i], end``=``" "``)` `        ``i ``=` `i ``+` `1` `        ``k ``=` `k ``+` `1`   `    ``while` `(j < n2):` `        ``print``(arr2[j], end``=``" "``)` `        ``j ``=` `j ``+` `1` `        ``k ``=` `k ``+` `1`     `# Driver code` `arr1 ``=` `[``10``, ``20``, ``30``]` `arr2 ``=` `[``20``, ``25``, ``30``, ``40``, ``50``]`   `n1 ``=` `len``(arr1)` `n2 ``=` `len``(arr2)`   `printUncommon(arr1, arr2, n1, n2)`

Output

`10 25 40 50 `

Time Complexity: O(n1 + n2), where n1 and n2 represents the size of the given two arrays.
Auxiliary Space: O(1), no extra space is required, so it is a constant.

## Python3

 `from` `collections ``import` `Counter`   `# Python 3 program to find uncommon` `# elements of two sorted arrays`     `def` `printUncommon(arr1, arr2):` `    ``frequency_arr1 ``=` `Counter(arr1)` `    ``frequency_arr2 ``=` `Counter(arr2)` `    ``result ``=` `[]`   `    ``for` `key ``in` `frequency_arr1:` `        ``if` `key ``not` `in` `frequency_arr2:` `            ``result.append(key)` `    ``for` `key ``in` `frequency_arr2:` `        ``if` `key ``not` `in` `frequency_arr1:` `            ``result.append(key)`   `    ``# Sorting the result` `    ``result.sort()`   `    ``for` `i ``in` `result:` `        ``print``(i, end``=``' '``)`     `# Driver code` `arr1 ``=` `[``10``, ``20``, ``30``]` `arr2 ``=` `[``20``, ``25``, ``30``, ``40``, ``50``]`   `printUncommon(arr1, arr2)`

Output

`10 25 40 50 `

Please refer complete article on Print uncommon elements from two sorted arrays for more details!

Time Complexity: O(n*logn), as sort() function is used.

Auxiliary Space : O(n), where n is length of result list.

## Python3

 `# Python 3 program to find uncommon` `# elements of two sorted arrays` `import` `operator as op`     `def` `printUncommon(arr1, arr2):` `    ``result ``=` `[]`   `    ``for` `key ``in` `arr1:` `        ``if` `op.countOf(arr2, key) ``=``=` `0``:` `            ``result.append(key)` `    ``for` `key ``in` `arr2:` `        ``if` `op.countOf(arr1, key) ``=``=` `0``:` `            ``result.append(key)`   `    ``# Sorting the result` `    ``result.sort()`   `    ``for` `i ``in` `result:` `        ``print``(i, end``=``' '``)`     `# Driver code` `arr1 ``=` `[``10``, ``20``, ``30``]` `arr2 ``=` `[``20``, ``25``, ``30``, ``40``, ``50``]`   `printUncommon(arr1, arr2)`

Output

`10 25 40 50 `

Time Complexity: O(NLogN)

Auxiliary Space : O(N)