【算法】通过交换获得两个数组的最小差

有两个数组a,b,大小都为n,数组元素的值任意,无序;
要求:通过交换a,b中的元素,使数组a元素的和与数组b元素的和之间的差最小


思路一:

假如sumA - sumB = 100,则找出ai、bj,ai-bj == 50,交换ai、bj即可;

如果找不到这样的ai、bj,则。。。


思路二:

从2n个数中找出n个数,使其和最接近 (sumA+sumB)/2,

动态规划即可


给出一组测试数据:

int a[] = {-7000,   40, 30, 200, 10030, 9000200};

int b[] = {-8000, 1040, 0,  180, 10000, 9000180};