160. 24年10月-华为留学生-3.最小换序代价
难度 7- 标签:
题目描述
题解
题库
24年10月-华为留学生-3.最小换序代价
题目内容
给定两个长度均为 n 的整数数组 nums1 和 nums2,每次操作可以交换数组 nums2 中任意两个元素,其代价为这两个元素下标之和。
目标是对于所有下标 i(0 ≤ i < n),均满足 nums1[i] ≠ nums2[i]。
返回满足目标的最小代价和;若无法达成目标,返回 -1。
输入描述
第一行:整数 n,表示数组长度
第二行:长度为 n 的整数数组 nums1
第三行:长度为 n 的整数数组 nums2
1 ≤ n ≤ 10⁵
1 ≤ nums1[i], nums2[i] ≤ 10⁵
输出描述
一个整数,表示最小代价和;若无法满足条件,输出 -1。
样例1
输入
4
1 2 3 4
1 2 3 4
输出
6
说明
其中代价和最小的一种方法为:
交换下标为0和1的两个值,代价为0+1=1,现在nums1 =[2,1,3,4]。
交换下标为2和3的两个值,代价为2+3=5,现在nums1 =「2,1,4,3].
总代价为 6。
样例2
输入
2
1 1
1 1
输出
-1
说明
无论如何操作,都无法要求,故返回 -1。