我有一些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