用于找到给定矩阵的行中的所有元素的总和之间的最小差异的算法

时间:2015-03-07 15:04:21

标签: java algorithm

我有一些L行和S列的矩阵正整数。我只能在同一列中交换元素。任务是创建具有这些元素的新矩阵,使得2行中元素的最大总和与最小总和之间的差异最小。

我编写了一个递归算法,在最大和最小行中找到两个元素(例如a和b),然后检查a-b>0 AND a-b<dif(dif是sum(max)-sum(min))并交换这两个元素数字。但它在许多情况下都不起作用。

需要帮助改进或创建新的。 谢谢

编辑:测试数据

[19890 18842 11844 17791 12777 14086 19299 16760 19914 18888 15248 17778 12000 15211 18838 18817 18477 15935 18209 15880 16943 12060;

14485 16416 13744 11812 10959 10356 11290 15521 19834 12831 15002 19950 11852 19357 19296 15602 13582 13279 15904 13415 17652 19882]

它有2行,22列。答案:0

又一个例子:

[665 424 543 268 998;

963 805 434 361 541;

880 653 671 454 966;

323 843 649 934 173;

696 341 269 681 130;

867 829 993 767 263]

它有6行,5列。答案:4

0 个答案:

没有答案