給你兩個長度相等的數組?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)