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