2D阵列的最大可能总和

时间:2016-06-20 03:56:11

标签: algorithm

在2D整数数组中找到最高可能总和的最佳方法是什么?您无法重复列和行。例如

1 3 6
4 5 2
3 1 3
Max sum: 3+5+6=14

我知道有一种称为匈牙利算法的方法,但这似乎更适合寻找最小总和。

1 个答案:

答案 0 :(得分:0)

是的,你可以使用匈牙利算法。

您需要修改搜索条件以查找最大总和而不是最小值。您还需要运行Bellman-Ford而不是Dijkstra作为搜索组件(因为Dijkstra无法计算最大总和路径)。

由于所选节点已使用其最大值进行配对,因此您无法进入不断增加的循环,因此任何更改都会产生较低的总和。如果已连接节点的损耗小于新连接节点的损耗,则算法将选择重新排列连接。你不必担心它。