给你两个长度相等的数组 nums1
和 nums2
。
数组 nums1
中的每个元素都与变量 x
所表示的整数相加。如果 x
为负数,则表现为元素值的减少。
在与 x
相加后,nums1
和 nums2
相等 。当两个数组中包含相同的整数,并且这些整数出现的频次相同时,两个数组 相等 。
返回整数 x
。
示例 1:
输入:nums1 = [2,6,4], nums2 = [9,7,5]
输出:3
解释:
与 3 相加后,nums1
和 nums2
相等。
示例 2:
输入:nums1 = [10], nums2 = [5]
输出:-5
解释:
与 -5
相加后,nums1
和 nums2
相等。
示例 3:
输入:nums1 = [1,1,1,1], nums2 = [1,1,1,1]
输出:0
解释:
与 0 相加后,nums1
和 nums2
相等。
提示:
1 <= nums1.length == nums2.length <= 100
0 <= nums1[i], nums2[i] <= 1000
- 测试用例以这样的方式生成:存在一个整数
x
,使得nums1
中的每个元素都与x
相加后,nums1
与nums2
相等。
思路:观察之后很容易发现,想要nums1中的数+x 和nums2相等,一定是nums1中的最小值+x等于nums2中的最小值,……,nums1中的最大值+x等于nums2中的最大值,那么问题就很简单了,只需要找到nums2中的最小值减去nums1中的最小值即可。
可以对两个数组排序,然后nums2[0] - nums1[0],也可以直接用min函数找数组中的最小值。
代码(Python):
class Solution(object):def addedInteger(self, nums1, nums2):nums1 = sorted(nums1)nums2 = sorted(nums2)return nums2[0] - nums1[0]#return min(nums2)-min(nums1)