package com.wt;
import java.util.*;
/**
题目:有两个数组a,b,大小都为n,数组元素的值任意,无序;
要求: 通过交换a,b中的元素,使数组a元素的和与数组b元素的和之间的差最小。
为了知道最后数字都是来自最初的哪一个地方,所以我用了Map
*/
public class MinData {
public static void main(String[] args)
{
int[] arr1 = new int[]{14,2,15,54,23,5};
int[] arr2 = new int[]{7,5,96,4,35,86};
int[] newArr1 = new int[arr1.length];
int[] newArr2 = new int[arr2.length];
List dataList = sort(arr1,arr2);
Map<String,Integer> arrMap = (Map<String, Integer>) dataList.get(0);
String[] sortKey = (String[]) dataList.get(1);
for (int i = 0;i < sortKey.length/2;i ++)
{
newArr1[i] = arrMap.get(sortKey[2*i]);
newArr2[i] = arrMap.get(sortKey[2*i+1]);
}
print(newA
【华为】题目:有两个数组a,b,大小都为n,数组元素的值任意,无序; 要求: 通过交换a,b中的元素,使数组a元素的和与数组b元素的和之间的差最小。
最新推荐文章于 2024-04-24 16:02:20 发布