微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

匹配两个数组之和的最小转换次数

如何解决匹配两个数组之和的最小转换次数

问题陈述如下: 有两个数组A和B,它们的长度可以相等或不相等。数组中的每个元素可以取1到6之间的值。 1 。我们必须找到对这些数组所做的最少更改,以使它们的总和相等。如果不可能,则返回-1。

示例1:

A = [1,1,6]

B = [6] 

Ans is 1 because if we change A[2] to 4,we can equal both the arrays.

示例2:

A = [2,3,2]

B = [4,5,6] 

Ans is 2,change B[1] = 1 and B[2] = 3.

示例3:

A = [1,2,4,6]

B = [2] 

Ans is 5,change A[1] = A[3] = A[4] = A[5] = 1 and B[0] = 6.

Ex 4:

A = [1,6]

B = [6]

Ans is -1,as we cannot equal 6 even if we change all entries of A to 1 as it has 7 elements.

我首先对两个数组进行排序,找到它们的总和,然后考虑将总和较大的数组更改为与较小的数组匹配。但这是行不通的,因为在某些情况下可能需要更改两个阵列。 然后,我开始同时在两个阵列上进行操作,但是无法掌握合适的算法!

任何帮助/参考都将有所帮助!

谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。