Python程序可以在三个排序的数组中找到共同的元素?

在这里,我们首先创建3个数组,它们是用户输入的未排序数组,然后对所有3个未排序数组进行排序。数组的大小为n1,n2,n3。每个数组的起始地址为0.i = 0,j = 0,k = 0,然后遍历三个数组的所有元素并检查三个数组的元素是否相同或不,如果相同,则打印元素,否则转到下一个元素。

示例

A = {1, 2, 3, 4, 5}

B = {2, 5, 12, 22, 7}

C = {1, 9, 2, 89, 80}

输出结果

2

算法

commonele(A1,A2,A3,n1,n2,n3)

/* A1, A2, A3 are three integer sorted array and size1, size2, size3 are the sizes of the array.*/

Step 1: Initialize the starting indexes for A1, A2, A3.

   i=0, j=0, k=0

Step 2:  iterate through three Arrays while arrays are nonempty. 

   While(i<size1 && j<size2 && k<size3)

Step 3: then check every value of A1,A2,A3.if the value are same then print otherwise move ahead in all arrays.

Step 4: End While

范例程式码

# To print common elements in three sorted arrays

def commonele (X, Y, Z, n1, n2, n3):   

   i, j, k = 0, 0, 0    

   print("Common elements are ::>")

   while (i < n1 and j <n2 and k< n3):

      if (X[i] == Y[j] and Y[j] == Z[k]):

         print (X[i])

         i += 1

         j += 1

         k += 1

      elif X[i] < Y[j]:

         i += 1

      elif Y[j] < Z[k]:

         j += 1

      else:

         k += 1

# Driver program 

A=list()

B=list()

C=list()

n1=int(input("Enter the size of the First List ::"))

n2=int(input("Enter the size of the Second List ::"))

n3=int(input("Enter the size of the Third List ::"))

print("Enter the Element of First List ::")

for i in range(int(n1)):

   k=int(input(""))

   A.append(k)

print("Enter the Element of Second List ::")

for j in range(int(n2)):

   k1=int(input(""))

   B.append(k1)

print("Enter the Element of Third List ::")

for j in range(int(n3)):

   k1=int(input(""))

   C.append(k1)

X=sorted(A)

Y=sorted(B)

Z=sorted(C)

print("First Sorted List ::>",X)

print("Second Sorted List ::>",Y)

print("Third Sorted List ::>",Z)

commonele(X, Y, Z, n1, n2, n3)

输出结果

Enter the size of the First List :: 4

Enter the size of the Second List :: 4

Enter the size of the Third List :: 5

Enter the Element of First List ::

23

12

45

8

Enter the Element of Second List ::

34

8

45

120

Enter the Element of Third List ::

2

4

8

45

1

First Sorted List ::> [8, 12, 23, 45]

Second Sorted List ::> [8, 34, 45, 120]

Third Sorted List ::> [1, 2, 4, 8, 45]

Common elements are ::>

8

45

以上是 Python程序可以在三个排序的数组中找到共同的元素? 的全部内容, 来源链接: utcz.com/z/354974.html

回到顶部