Demo entry 6686312

intersect

   

Submitted by anonymous on Dec 23, 2017 at 07:39
Language: Python. Code size: 851 Bytes.

#Write an efficient program which given two sorted arrays A[0..n] and
#B[0..m] finds all values that are present in both arrays.

A= range(20,200,4) #Наполним список числами от 20 до 200 с шагом 4
B= range(100,250,4)#Наполним список числами от 100 до 250 с шагом 4
#Самый эффективный, базируется на алгоритмах работы с множествами библиотеки python
C= list(set(A).intersection(set(B)))
C.sort()
#Если переписать его, можно получить следующее
def Intersection(A, B):
    result=[]
    if len(A) <= len(B):
        little, big = A, B
    else:
        little, big = B, A
    firstbig=big[0]
    lastbig=big[-1]
    for x in little:
        if x >= firstbig:
            if x<=lastbig:
                if x in big:
                    result.append(x)
    return list(result)
D=Intersection(A,B) 
print (C)
print (D)
print(C==D)

This snippet took 0.01 seconds to highlight.

Back to the Entry List or Home.

Delete this entry (admin only).