程序从Python的两个列表中找出两个元素之间的最小差异

假设我们有两个列表L1和L2,我们必须找到L1的数字和L2的数字之间的最小差。

因此,如果输入像L1 = [2,7,4],L2 = [16,10,11],那么输出将是3,因为最小的差是10-7 = 3。

为了解决这个问题,我们将遵循以下步骤-

  • 排序列表L1和排序列表L2

  • ans:=无限

  • i:= 0,j:= 0

  • 当i <L1的大小而j <L2的大小时

    • j:= j + 1

    • 我:=我+ 1

    • ans:= ans和| L1 [i]-L2 [j] |的最小值

    • 如果L1 [i] <L2 [j],则

    • 除此以外,

    • 返回ans

    让我们看下面的实现以更好地理解-

    示例

    class Solution:
       def solve(self, L1, L2):
          L1.sort()
          L2.sort()
          ans = float("inf")
          i = j = 0
          while i < len(L1) and j < len(L2):
             ans = min(ans, abs(L1[i] - L2[j]))
             if L1[i] < L2[j]:
                i += 1
             else:
                j += 1
          return ans
    ob = Solution()L1 = [2, 7, 4] L2 = [16, 10, 11]
    print(ob.solve(L1, L2))

    输入项

    [2, 7, 4], [16, 10, 11]

    输出结果

    3
    猜你喜欢