程序从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