从 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

猜你喜欢