You are given two integer arrays nums1 and nums2 of size n.
You can perform the following two operations any number of times on these two arrays:
i and j. Then, choose either to swap nums1[i] and nums1[j], or nums2[i] and nums2[j]. This operation is free of charge.i. Then, swap nums1[i] and nums2[i]. This operation incurs a cost of 1.Return an integer denoting the minimum cost to make nums1 and nums2 identical. If this is not possible, return -1.
Example 1:
Input: nums1 = [10,20], nums2 = [20,10]
Output: 0
Explanation:
nums2[0] = 20 and nums2[1] = 10.
nums2 becomes [10, 20].nums1 and nums2 are now identical. The cost is 0.Example 2:
Input: nums1 = [10,10], nums2 = [20,20]
Output: 1
Explanation:
nums1[0] = 10 and nums2[0] = 20.
nums1 becomes [20, 10].nums2 becomes [10, 20].nums2[0] = 10 and nums2[1] = 20.
nums2 becomes [20, 10].nums1 and nums2 are now identical. The cost is 1.Example 3:
Input: nums1 = [10,20], nums2 = [30,40]
Output: -1
Explanation:
It is impossible to make the two arrays identical. Therefore, the answer is -1.
Constraints:
2 <= n == nums1.length == nums2.length <= 8 * 1041 <= nums1[i], nums2[i] <= 8 * 104Solutions for this problem are being prepared.
Try solving it yourselfPractice Minimum Cost to Equalize Arrays Using Swaps with our built-in code editor and test cases.
Practice on FleetCodePractice this problem
Open in Editor