跳到主要内容

3132.找出与数组相加的整数II

链接:3132.找出与数组相加的整数II
难度:Medium
标签:数组、双指针、枚举、排序
简介:给你两个整数数组 nums1 和 nums2。从 nums1 中移除两个元素,并且所有其他元素都与变量 x 所表示的整数相加。如果 x 为负数,则表现为元素值的减少。执行上述操作后,nums1 和 nums2 相等 。当两个数组中包含相同的整数,并且这些整数出现的频次相同时,两个数组 相等 。返回能够实现数组相等的 最小 整数 x 。

题解 1 - python

  • 编辑时间:2024-08-09
  • 执行用时:562ms
  • 内存消耗:16.57MB
  • 编程语言:python
  • 解法介绍:排序后暴力枚举。
class Solution:
def minimumAddedInteger(self, nums1: List[int], nums2: List[int]) -> int:
nums1.sort()
nums2.sort()
n = len(nums1)
res = inf
for i in range(n):
for j in range(i):
i1 = 0
while i1 < n and (i1 == i or i1 == j): i1 += 1
i2 = 0
diff = nums2[i2] - nums1[i1]
need_skip = False
while i1 < n:
if nums2[i2] - nums1[i1] != diff:
need_skip = True
break
i1 += 1
while i1 < n and (i1 == i or i1 == j): i1 += 1
i2 += 1
if not need_skip:
res = min(res, diff)
return res