在Python中查找从错误列表中删除的正确传感器值的程序

在Python中查找从错误列表中删除的正确传感器值的程序

假设我们有两个列表nums1和nums2,它们表示传感器度量。每个列表都包含唯一的值,因此a ≠ b。其中一个列表包含精确的传感器指标,但另一个列表包含错误的指标。在错误的列表中删除了一个值,而在该列表的末尾放置了一个错误的值。我们必须找到删除的实际值。

因此,如果输入为nums1 = [5,10,15] nums2 = [10,15,8],则输出将为5,因为第一个列表nums1保存实际值=[5,10,15],在第二个数组中删除了这些值并插入了8。

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

  • low := 0
  • high := nums1的大小-1
  • while low < high,do
    • mid:=(low + high)/ 2的地板
    • 如果nums1 [mid]与nums2 [mid]相同,则
      • low := mid + 1
    • 否则,
      • high := mid
  • 如果nums1 [low + 1]与nums2 [low]相同,则返回nums1 [low],否则返回nums2 [low]

示例

让我们看一下以下实现,以更好的理解-

 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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程