📌  相关文章
📜  Python程序从两个排序数组中打印不常见的元素

📅  最后修改于: 2022-05-13 01:55:49.763000             🧑  作者: Mango

Python程序从两个排序数组中打印不常见的元素

给定两个不同元素的排序数组,我们需要打印两个数组中不常见的元素。输出应按排序顺序打印。
例子 :

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
        

这个想法是基于归并排序的归并过程。我们遍历两个数组并跳过公共元素。

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)
  
  
  
# This code is contributed
# by Nikita Tiwari.


输出 :
10 25 40 50

有关详细信息,请参阅有关从两个排序数组中打印不常见元素的完整文章!