이 기사에서는 아래 주어진 문제 설명에 대한 솔루션에 대해 알아볼 것입니다.
문제 설명 − 두 개의 배열이 주어졌으므로 두 개의 정렬된 배열에서 가장 가까운 쌍을 찾아야 합니다.
이제 아래 구현에서 솔루션을 관찰해 보겠습니다 -
예시
# 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 프로그램을 만드는 방법에 대해 배웠습니다.