【发布时间】:2022-10-23 13:14:36
【问题描述】:
给定 2 个整数数组,一个和乙,对数组 B 的操作定义如下:
B[i] = B[i]+2和B[j] = B[j]-2, 在哪里我!= j
-
i 和 j 可以是任意索引,可以进行上述操作 任意次数使得 i 和 j 不相等
-
有效的操作由加法和减法步骤组成,这两部分都是强制性的
如果所有元素的频率相同,则认为数组相等,数组不需要排序,找到所需的最小操作
输入:
A = [ 2, 10, 14 ]
B = [ 6, 2, 18 ]
输出:2
解释 :
1st operation: select i=0; j=2;
B[i] += 2 i.e B[0]=8;
B[j] -= 2 i.e B[2] = 16;
B after 1st operation [8,2,16]
2nd operation: select i=0; j=2;
B[i] += 2 i.e B[0]=10;
B[j] -= 2 i.e B[2] = 14;
B after 2nd operation [10,2,14]
顺序无关紧要,所以我们让数组等于 return 2;
我无法找到解决此问题的方法,也找不到任何类似的问题,因此在此发布,在此先感谢。
【问题讨论】:
-
如果不可能使数组相等怎么办?例如,
A包含奇数但B不包含任何奇数,或者如果A = [10, 20],B = [12, 22]? -
你以前问过问题,有些得到了答案。你有什么理由不给他们反馈?他们有那么糟糕吗?
标签: arrays algorithm minimization