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