从两个排序数组中找出最接近的对的 Python 程序

pythonserver side programmingprogramming

在本文中,我们将学习下面给出的问题陈述的解决方案。

问题陈述 − 给定两个数组,我们需要从两个排序数组中找出最接近的对

现在让我们观察下面实现中的解决方案 −

示例

# 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):
   # 最接近的对
      if abs(ar1[l] + ar2[r] - x) < diff:
           res_l = l
         res_r = r
         diff = abs(ar1[l] + ar2[r] - x)
   # 对和
      if ar1[l] + ar2[r] > x:
         r=r-1
      else:
         l=l+1
   # 打印结果
   print("可用的最接近的对是 [",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)

输出

可用的最接近的对是 [ 9 , 11 ]

所有变量均在本地范围内声明,其引用如上图所示。

结论

在本文中,我们了解了如何编写 Python 程序来从两个排序数组中找出最接近的一对


相关文章