Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình Python để tìm các phần tử chung trong ba mảng đã sắp xếp?

Ở đây, đầu tiên chúng ta tạo 3 mảng là mảng chưa được sắp xếp do người dùng nhập, sau đó chúng ta sắp xếp cả 3 mảng chưa được sắp xếp. Kích thước của mảng là n1, n2, n3. Địa chỉ bắt đầu của mọi mảng là 0.i =0, j =0, k =0, sau đó duyệt qua tất cả các phần tử của ba mảng và kiểm tra phần tử của ba mảng có giống nhau hay không. không, nếu giống nhau thì in phần tử, nếu không, hãy chuyển phần tử tiếp theo.

Ví dụ

A = {1, 2, 3, 4, 5}
B = {2, 5, 12, 22, 7}
C = {1, 9, 2, 89, 80}

Đầu ra

2

Thuật toán

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

Mã mẫu

# 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)

Đầu ra

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