从 Python 中的错误列表中查找丢失的正确传感器值的程序
假设我们有两个列表nums1和nums2,它们代表传感器指标。每个列表都包含唯一值,因此a≠b。这两个列表中的一个包含准确的传感器指标,但另一个包含错误。在错误列表中,删除了一个不是最后一个值的值,并将错误的值放置在该列表的末尾。我们必须找到被丢弃的实际值。
因此,如果输入类似于nums1=[5,10,15]nums2=[10,15,8],那么输出将为5,因为第一个列表nums1保存实际值=[5,10,15],在第二个数组中,删除并在末尾插入8。
示例
让我们看看以下实现以获得更好的理解-
def solve(nums1, nums2): low, high = 0, len(nums1) - 1 while low < high: mid = (low + high) //2 if nums1[mid] == nums2[mid]: low = mid + 1 else: high = mid return nums1[low] if nums1[low + 1] == nums2[low] else nums2[low] nums1 = [5, 10, 15] nums2 = [10, 15, 8] print(solve(nums1, nums2))
输入
[5, 10, 15], [10, 15, 8]输出结果
5