Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

두 개의 정렬된 배열에서 가장 가까운 쌍을 찾기 위한 Python 프로그램


이 기사에서는 아래 주어진 문제 설명에 대한 솔루션에 대해 알아볼 것입니다.

문제 설명 − 두 개의 배열이 주어졌으므로 두 개의 정렬된 배열에서 가장 가까운 쌍을 찾아야 합니다.

이제 아래 구현에서 솔루션을 관찰해 보겠습니다 -

예시

# sys module
import sys
# pair
def print_(ar1, ar2, m, n, x):
   # difference
   diff=sys.maxsize
   # index
   l = 0
   r = n-1
   while(l < m and r >= 0):
   # closest pair
      if abs(ar1[l] + ar2[r] - x) < diff:
         res_l = l
         res_r = r
         diff = abs(ar1[l] + ar2[r] - x)
   # pair sum
      if ar1[l] + ar2[r] > x:
         r=r-1
      else:
         l=l+1
   # Print the result
   print("The closest pair available is [",ar1[res_l],",",ar2[res_r],"]")
# main
ar1 = [1, 3, 6, 9]
ar2 = [11, 23, 35, 50]
m = len(ar1)
n = len(ar2)
x = 20
print_(ar1, ar2, m, n, x)

출력

The closest pair available is [ 9 , 11 ]

두 개의 정렬된 배열에서 가장 가까운 쌍을 찾기 위한 Python 프로그램

모든 변수는 로컬 범위에서 선언되며 해당 참조는 위 그림과 같습니다.

결론

이 기사에서는 두 개의 정렬된 배열에서 가장 가까운 쌍을 찾기 위한 Python 프로그램을 만드는 방법에 대해 배웠습니다.